Gerar Script Sql de inserção através de select

9 respostas
Fernando_Mateus

Olá pessoal,
estou precisando gerar um script de insert através de um select em um banco de H2.
Alguém sabe informar como proceder, se existe alguma ferramenta que faz isso, ou se da pra fazer com a consulta mesmo?

9 Respostas

bastides

Não conheço nenhuma ferramenta que faça isso, mas você pode recuperar os dados que vai inserir com um select…mesmo assim teria que fazer você mesmo o insert…

o que exatamente você quer fazer? select em uma tabela pra depois inserir em outra esses dados retornados do select?

[]'s

victormagno

Exemplo:

select ‘insert into tabela_destino values (’ + coluna1 + ‘,’ + colunaN + ‘);’ from tabela_origem

Adequa o exemplo pro seu caso e sintaxe pro seu banco.

Fernando_Mateus

Eu tenho uma tabela que já está populada no meu banco máquina e desejo gerar o script de insert pra que possa rodar em outro banco.

Vou tentar a solução sugerida pelo victormagno.

bastides

Se estiver usando Oracle, sei que no PLSQL você consegue gerar o dll dos dados de uma tabela, até a query de criação da tabela. Agora se for outro segue esse exemplo de montar o insert dentro do select mesmo.

Vai fazer a inserção via sistema? ou se gerar o script e rodar na mão?

[]'s

Fernando_Mateus

Eu estou usando o h2. Quero rodar o script na mão

bastides

Então segue o exemplo do victormagno mesmo…acho melhor caminho

[]'s

charleston10

crie um backup.

;]

DaniloAndrade

victormagno:
Exemplo:

select ‘insert into tabela_destino values (’ + coluna1 + ‘,’ + colunaN + ‘);’ from tabela_origem

Adequa o exemplo pro seu caso e sintaxe pro seu banco.

nunca vi isso, funciona mesmo? :shock:

DaniloAndrade

eu encontrei isso

INSERT INTO MyTable  (PriKey, Description)
       SELECT ForeignKey, Description
       FROM SomeView;

e isso

SELECT LastName, FirstName, Phone
INTO dbo.PhoneList492
FROM dbo.Customers
WHERE Phone LIKE '492%'

mas é pra sql server

http://msdn.microsoft.com/pt-br/library/ms188263(v=sql.105).aspx

Criado 15 de fevereiro de 2013
Ultima resposta 15 de fev. de 2013
Respostas 9
Participantes 5