Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Gerar instruções INSERT de uma tabela do SQL Server


Eu vejo que você marcou seu post SQL-Server-2005, isso é muito ruim porque a versão 2008 tem uma ferramenta de assistente para isso.

Você pode construir as instruções de inserção a partir de strings concatenadas.

Se field1 for uma string, field2 um numérico:
select 'insert into data (field1, field2) values('' || field1 || '', ' || char(field2) ||');' from data where ID < 9000;

Obviamente, isso pode ser demorado se você tiver muitas colunas, considerando que as strings precisam de aspas. Você pode ter que converter as colunas numéricas usando char() também.

Isso deve fornecer uma lista de instruções de inserção, 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);

Talvez essa não seja a maneira mais elegante de fazer isso, mas funciona.