Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Generieren Sie INSERT-Anweisungen aus einer SQL Server-Tabelle

Wie ich sehe, haben Sie Ihren Beitrag mit SQL-Server-2005 markiert, das ist schade, weil die Version 2008 einen Assistenten dafür hat.

Sie könnten die Insert-Anweisungen aus verketteten Strings erstellen.

Wenn Feld1 ein String ist, ist Feld2 eine Zahl:

select 'insert into data (field1, field2) values('' || field1 || '', ' || char(field2) ||');' from data where ID < 9000;

Offensichtlich kann das zeitaufwändig sein, wenn Sie viele Spalten haben, wenn man bedenkt, dass die Zeichenfolgen Anführungszeichen benötigen. Möglicherweise müssen Sie die numerischen Spalten mit char() umwandeln auch.

Das sollte Ihnen eine Liste von Insert-Anweisungen wie diese geben:

insert into data (field1, field2) values('A', 10);
insert into data (field1, field2) values('B', 20);
insert into data (field1, field2) values('C', 30);

Das ist vielleicht nicht der eleganteste Weg, aber es funktioniert.