Ir ao conteúdo
  • Cadastre-se

Executar vários arquivos .sql


Poliano Martini

Posts recomendados

Tenho vários arquivos .sql que é um continuação do outro.

 

Existe alguma maneira de criar um arquivo principal onde só faço a chamada desses outros arquivos?

 

Ex:

 

arquivo01.sql

arquivo02.sql

arquivo03.sql

arquivo04.sql

 

Criar um arquivo chamado arquivo_principal.sql fazendo a chamada para executar esses outros arquivos já criados.

Link para o comentário
Compartilhar em outros sites

@

 

 

Tenho vários arquivos .sql que é um continuação do outro.

 

Existe alguma maneira de criar um arquivo principal onde só faço a chamada desses outros arquivos?

 

Ex:

 

arquivo01.sql

arquivo02.sql

arquivo03.sql

arquivo04.sql

 

Criar um arquivo chamado arquivo_principal.sql fazendo a chamada para executar esses outros arquivos já criados.

 

 

Dê uma conferida aqui: http://sqlish.com/how-to-run-multiple-sql-scripts/

 

 

 

 

LNW

Link para o comentário
Compartilhar em outros sites

@LNW

 

Pelo que entendi, é como no terceiro exemplo, mas tentei de uma certa maneira e não consegui.

 

Criei um arquivo principal e fiz as chamadas, dê uma olhada:

-- This is the main caller for each scriptSET NOCOUNT ONGOPRINT 'Running scripts'GO-- uncomment the below line; If you need to Stop running further scripts on error:On Error exit:r G:\01.sql:r G:\02.sql:r G:\03.sqlPRINT 'Scripts executed'GO

Seria + - isso?

 

Obs: Utilizo o PostgreSQL

Link para o comentário
Compartilhar em outros sites

@

 

@LNW

 

Pelo que entendi, é como no terceiro exemplo, mas tentei de uma certa maneira e não consegui.

 

Seria + - isso?

 

Obs: Utilizo o PostgreSQL

 

 

Isso, seria aquele terceiro cenário.. Mas aí tem a sintaxe do PostgreSQL que difere.

 

 

Você poderia dar uma olhada na documentação:

 

http://www.postgresql.org/docs/9.3/static/app-psql.html

 

 

Atente para o meta-comando \i que lê um arquivo e o executa. Seria equivalente àquele :r do script acima.

-- Script principal\i script1.sql\i script2.sql\i script3.sql-- FIM

Para chamar o script na linha de comando, use -f script ou --file=script (também consta na documentação acima). No seu caso, a opção anterior deve ser mais adequada.

 

 

 

LNW

Link para o comentário
Compartilhar em outros sites

Legal, era isso mesmo que gostaria.

 

Aproveitando o assunto, veja bem...

 

No meu arquivo principal está da seguinte forma:

\echo 'Executando arquivo 1...'\i script1.sql\echo 'Executando arquivo 2...'\i script2.sql\echo 'Executando arquivo 3...'\i script3.sql

Quando executo o bath, aparece a primeira mensagem e fica esperando terminar de executar os comandos contendo no arquivo script1.sql

 

O mesmo procedimento acontece nos outros...

 

Eu gostaria de aparecer no prompt a mensagem e após terminado o comando, aparecer na frente um "OK", mas não consegui isso.

 

O comando \echo mostra a mensagem na tela e logo em seguida pula a linha.

 

Saberia me dizer como consigo esse resultado?

 

Executando arquivo 1... OK

Executando arquivo 2... OK

Executando arquivo 3... OK

Link para o comentário
Compartilhar em outros sites

@

 

 

Eu gostaria de aparecer no prompt a mensagem e após terminado o comando, aparecer na frente um "OK", mas não consegui isso.

 

O comando \echo mostra a mensagem na tela e logo em seguida pula a linha.

 

Saberia me dizer como consigo esse resultado?

 

Executando arquivo 1... OK

Executando arquivo 2... OK

Executando arquivo 3... OK

 

 

Tente adicionar o parâmetro -n (supressão ao newline) ao \echo. Ficaria assim:

\echo -n 'Executando arquivo 1... '\i script1.sql\echo 'OK'\echo -n 'Executando arquivo 2... '\i script2.sql\echo 'OK'\echo -n 'Executando arquivo 3... '\i script3.sql\echo 'OK'

Creio que funcione, tem que testar...

 

 

 

LNW

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...