Sybase
如何從 isql 將參數傳遞給“SQL 腳本”
我想知道是否可以從 sybase 的 isql 實用程序中將參數傳遞給 SQL 腳本。
例如,我想在文件
the_script.sql
中儲存一個 select 語句,看起來像select col_1, col_2, etc from table where cond1 > $param1 and cond2 < $param2
然後,使用該文件,我想從 isql 中“執行”它
:r the_script.sql 900 20
$param1
用900 和$param2
20代替期望值。有沒有可能實現我想要的?
查看您的案例,您似乎想要一個儲存過程,所以這是我為您寫的一個:
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
現在,在 isql 中,您可以執行它:
exec the_script 900, 20
問候。
我認為它不能在 isql 中按位置完成。使用 shell 腳本包裝器,您可以執行類似的操作
#!/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