Je me demande s'il est possible de passer des paramètres à un script SQL dans l'utilitaire ISQL de Sybase.
Par exemple, je voudrais stocker une instruction SELECT dans le fichier the_script.sql
cela ressemblerait à quelque chose comme
select
col_1,
col_2,
etc
from
table
where
cond1 > $param1 and
cond2 < $param2
Ensuite, avec ce fichier, j'aimerais "exécuter" iSQL avec
:r the_script.sql 900 20
avec l'attente que $param1
est répété avec 900 et $param2
avec 20.
Y a-t-il une possibilité d'atteindre ce que je veux?
En regardant votre cas d'utilisation, il semble que vous souhaitiez une procédure stockée, alors voici un que j'ai écrit pour vous:
CREATE PROC the_script
(
@param1 int = null,
@param2 int = null
)
AS
BEGIN
select
col_1,
col_2,
etc
from
table
where
cond1 > @param1 and
cond2 < @param2
END
Maintenant, étant dans ISQL, vous pouvez l'exécuter:
exec the_script 900, 20
Salutations.
Je ne pense pas que cela puisse être fait positionnellement à partir de ISQL. En utilisant une enveloppe de script shell, vous pouvez faire quelque chose comme
#!/bin/bash
PARAM1=$1
PARAM2=$2
isql -u whoever -p whatever -s myserver << EOF
select * from mytable where mycolumn > ${PARAM1} and mycolumn < ${PARAM2}
go
EOF