所以,我们有一个shell脚本,它需要调用一个匿名块,然后接收一个值。匿名块大约有100行,所以我们把它放在一个文件中,因此对于SQL*Plus,它被称为:
@/directory_path/anonymous_block "'param1'" "'param2'"
是的,我们传递了几个参数。最后,我们有一个
DBMS_OUTPUT.PUT_LINE.......
所以,我们的问题是,如何把它带回壳牌?我们已经尝试过各种类似的代码:
proc=TEMPLATE1_MV<BR>
code=513
x=`print "
set heading off feedback off verify off timing off
@/u01/sql/stock_rpt_stats '$code' '$proc';
exit" | sqlplus -s $user/$pass`
y=`echo $x | awk '{print $1}'`<BR>
printf "HERE: $y\n"
但没有运气,只有错误。
如果它只包含一个直接的SQL:
SELECT TRUNC(SYSDATE) FROM dual;
这很好,但不引用包含SQL的文件。
任何有想法的人都会很棒。提前谢谢。