Kennt jemand einen Proc oder ein Skript, das irgendeine Reihe in eine Einfügungserklärung in die gleiche Tabelle erzeugt?Kennt jemand einen Prozess, um eine Zeile in eine INSERT-Anweisung umzuwandeln?
Grundsätzlich würde Ich mag, etwas nennen wie
exec RowToInsertStatement 'dbo.user', 45;
Und der folgende Code auszugebenden
insert into dbo.MyTable(FirstName, LastName, Position)
values('John', 'MacIntyre', 'Software Consultant');
Ich weiß, ich kann
insert into dbo.MyTable
select * from dbo.MyTable where id=45;
Aber dies offenbar gewonnen Es funktioniert nicht, weil die ID-Spalte sich beschweren wird (ich hoffe, dass sie sich beschwert) und es gibt keine Möglichkeit, diese einfach zu überschreiben. c olumn, ohne alle Spalten aufzulisten, und in einigen Tabellen könnte es Hunderte geben.
Also, weiß jemand von einem Proc, der diesen einfachen Einsatz für mich schreiben wird?
EDIT 03.04: Der Zweck dieser ist, so kann ich eine Kopie der Zeile machen, so dass nach der INSERT erzeugt wird, ich es in so etwas wie
insert into dbo.MyTable(FirstName, LastName, Position)
values('Dave', 'Smith', 'Software Consultant');
ändern
.. nein Offensichtlich ist dieses erfundene Beispiel so einfach, dass es keinen Sinn ergibt, aber wenn Sie eine Tabelle mit 60 Spalten haben und alles, was Sie brauchen, um 3 oder 4 Werte zu ändern, dann beginnt es, ein Aufwand zu sein.
Macht das Sinn?
Ich habe meine Antwort noch einmal aktualisiert! :) –