Digamos que eu não tenha a capacidade de criar um procedimento armazenado, mas tenho que executar a mesma consulta regularmente. Eu seria capaz de colocar minha consulta em um documento .txt e executá-lo no Powershell chamando-o? Que sintaxe eu usaria para executar myquery.txt? Dito de outra forma, qual é a maneira de não poder usar um procedimento armazenado em uma consulta que deve ser transformada em uma?
relate perguntas
-
Otimize esta consulta SQL para desempenho
-
Como retornar um CTE como REFCURSOR de um procedimento armazenado Oracle?
-
Como descubro se existe um procedimento ou função em um banco de dados mysql?
-
Alguém está usando o recurso do SQL Server para criar grupos de stored procedures diferenciadas por número?
-
SQL dinâmico em rotinas armazenadas do MySQL
Percebi que você marcou a pergunta
netezza
, mas não tenho certeza se SQLCMD (sugerido na resposta aceita) funciona com Netezza ou apenas com SQL Server. Uma alternativa é usar o Aginity Workbench for Netezza , que fornece uma opção de linha de comando autônoma :O equivalente a sqlcmd no Netezza é nzsql, que pode ser instalado tanto no Windows quanto no UNIX. Executamos scripts powershell automatizados que executam instruções SQL por meio do nzsql e funcionam bem :)
Depende de suas versões do Powershell, mas você tem algumas opções. Costumo usar vários deles com base no cenário, mas no seu caso, por que não apenas chamar um
SQLCMD.EXE
script do powershell? Ele tem mais compatibilidade, é menos buggy e mais compatível do queInvoke-SQLCMD
, e fora doDSC
MS eu não vi usarosql
. Seria mais ou menos assim:Caso contrário, você teria que instalar o pacote de recursos do SQL Server da v12 e superior e, em seguida, usar o
Invoke-SQLCMD
que tem alguns problemas de compatibilidade e não oferece muitos benefícios, exceto em alguns casos que encontrei. Você também obtém a funcionalidade SMO completa com o Feature Pack, mas é um exagero e tem muita sobrecarga de configuração para uma consulta simples.