sql >> Databasteknik >  >> RDS >> Sqlserver

Generera INSERT-satser från en SQL Server-tabell

Jag ser att du taggade ditt inlägg SQL-Server-2005, det är synd eftersom version 2008 har ett guideverktyg för det.

Du kan bygga insert-satserna av sammanlänkade strängar.

Om fält1 är en sträng, fält2 en numerisk:

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

Det kan naturligtvis vara tidskrävande om du har många kolumner, med tanke på att strängarna behöver citat. Du kan behöva konvertera de numeriska kolumnerna med char() också.

Det borde ge dig en lista med infogningssatser, så här:

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

Det kanske inte är det mest eleganta sättet att göra detta på, men det fungerar.




  1. SQL Group efter och min (MySQL)

  2. Vad är det kanoniska sättet att hämta en post från en MySQL-databas som har det minsta/största fältet?

  3. Det gick inte att ladda filen eller sammansättningen 'Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342'

  4. Muteringstabell på Oracle SQL-utlösare