Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Genera istruzioni INSERT da una tabella di SQL Server

Vedo che hai taggato il tuo post SQL-Server-2005, peccato perché la versione 2008 ha uno strumento di procedura guidata per questo.

Potresti creare le istruzioni di inserimento da stringhe concatenate.

Se campo1 è una stringa, campo2 è un valore numerico:

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

Ovviamente ciò può richiedere molto tempo se hai molte colonne, considerando che le stringhe hanno bisogno di virgolette. Potrebbe essere necessario convertire le colonne numeriche utilizzando char() anche.

Questo dovrebbe darti un elenco di istruzioni di inserimento, come questo:

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

Forse non è il modo più elegante per farlo, ma funziona.