Dica Rápida – Arquivo Bat com SQL

Nesta semana precisei executar uma consulta em SQL que retorna uma volume muito grande de registros, o programa que utilizo no dia a dia para executar consulta a base de dados exige um volume significativo de processamento, quanto maior o volume de registros retornados mais processamento será requerido e a minha máquina é limitada, simplesmente não roda, o programa fecha ou o sistema sinaliza falhas. Meu colega me ensinou duas maneiras bem legal para solucionar o problema, então resolvi compartilhar:

1) Rodar a query de forma fragmentada, ou seja, pedaço a pedaço. Na sub query insere o comando para numerar os registros que serão exibidos, desta forma é possível quais registros exibir, inclusive em um intervalo do meio da tabela.

SELECT *
FROM
(SELECT nome, row_number() OVER (Order by nome) As row_number FROM tabela)
WHERE row_number between 100 and 200 -- Seleciona os registros a serem exibidos.

2) SQL via arquivo Bat.

cd /d "C:\Program Files\Caminho_Arquivo_Programa_Executa_SQL"
pause
Nome_Programa.exe -n 127.0.0.1 -i 30 -u Usuário -p Senha -C -a -o "D:\Users\camila\Documents\nome_arquivo.txt" "SELECT * FROM tabela"
pause

Importante: substitua os dados do código acima de acordo com a especificação do banco que irá acessar. Caso no código do SQL tenha aspas duplas, deverá ser inserido na frente do símbolo a barra invertida (“\”).

  • 127.0.0.1 = host,
  • 30 = Porta,
  • Usuário = usuário do banco de dados,
  • Senha = senha do banco de dados
Compartilhe este post: