sql >> Base de Datos >  >> RDS >> Sqlserver

Genere instrucciones INSERT desde una tabla de SQL Server

Veo que etiquetó su publicación SQL-Server-2005, eso es una lástima porque la versión 2008 tiene una herramienta de asistente para eso.

Podría construir las sentencias de inserción a partir de cadenas concatenadas.

Si campo1 es una cadena, campo2 es un número:

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

Obviamente, eso puede llevar mucho tiempo si tiene muchas columnas, considerando que las cadenas necesitan comillas. Puede que tenga que convertir las columnas numéricas usando char() también.

Eso debería darle una lista de declaraciones de inserción, como esta:

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

Tal vez esa no sea la forma más elegante de hacerlo, pero funciona.