Eu estou querendo saber se é possível passar parâmetros para um script SQL de dentro do utilitário isql do sybase.
Por exemplo, gostaria de armazenar uma instrução select no arquivo the_script.sql
que se parecesse com
select
col_1,
col_2,
etc
from
table
where
cond1 > $param1 and
cond2 < $param2
Então, com esse arquivo, gostaria de "executá-lo" do isql com
:r the_script.sql 900 20
com a expectativa que $param1
é substituída por 900 e $param2
por 20.
Existe a possibilidade de conseguir o que eu quero?
Olhando para o seu caso de uso, parece que você quer um procedimento armazenado, então aqui está um que escrevi para você:
Agora, estando no isql, você pode executá-lo:
Cumprimentos.
Não acho que isso possa ser feito posicionalmente de dentro do isql. Usando um shell script wrapper, você poderia fazer algo como
A única ferramenta que conheço que permite fazer isso é o SQSH. Ele fornece uma linguagem que é uma mistura de shell script e SQL. Assim, você pode obter seu script de shell (sqsh) para ler os parâmetros da linha de comando ou de um arquivo etc. e passá-los para lotes sql escritos em linha com o script de shell. http://www.sqsh.org/