2015-04-04 47 views

回答

0

您可以直接將輸出值分配給shell變量。

或者,也可以在SQL * Plus中調用PL/SQL過程,並將OUTPUT參數的值存儲在本地文件中。然後在你的shell腳本中,grep從文件中獲得所需的值。

例如,

out_variable=`sqlplus -s $conn_string <<EOF 
SET SERVEROUTPUT ON SIZE 1000000 
SET FEEDBACK OFF 
whenever sqlerror exit 1; 
variable o_val number; 

EXEC myproc(:o_val); 
EOF` 

所以,out_variable將有程序的輸出值。使用反引號,將執行並將sqlplus的輸出分配給shell變量。

+0

這與我在做的是一樣的,但問題是我的程序會在'echo $ out_variable'之後返回很多DBMS輸出語句並最終返回我的日誌中的返回碼,請你幫助我語法如何從$ out_variable grep o_val。 – user3152869 2015-04-05 15:14:36

相關問題