當前位置:成語大全網 - 書法字典 - 如何在shell中將存儲過程的輸出參數轉換為變量

如何在shell中將存儲過程的輸出參數轉換為變量

#以下代碼是從oracle的sqlplus向shell返回變量值的示例。

output = ` sqlplus-s unitele/lemon tea & lt;& lt文件結束

將航向關閉反饋關閉驗證關閉

drop函數test _ get _ param _ value _ p;

創建或替換函數測試參數值p

varchar2中的is_citycode

)

返回varchar2

on _ value varchar 2(100);

開始

on _ value:=‘100000’;

dbms_output.put_line(開值);

DBMS _ output . put _ line(is _ city code);

返回on _ value

結束;

/

從dual中選擇test _ get _ param _ value _ p(‘501‘);

出口

文件結束

`

Oracle的Echo“輸出變量值:“$output

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

存儲過程my proc(in _ num in number,out _ num out number)

Sql腳本模板

首先,編輯包含以下內容的mysql.sql文件:

-

var nret號;

execute:nret:= 0;-初始化

調用my proc(in_code,:nret)-執行存儲過程,in _ code將被替換。

/

從雙重顯示結果中選擇“retcode【‘| |:nret |‘】retcode”。

/

退出;

-

SHELL腳本mysh.sh,內容如下

-

#./mysh.sh 123

cd /home/myshell

sed“s/in _ code/$ 1/“MySQL . SQL & gt;mysql01.sql

#從sql腳本模板生成實際腳本

sqlplus usr/pwd @ db result $ 1 . txt

#執行sql腳本並將結果輸入result $1.txt。

echo ok!

-

執行。/mysh.sh 123在LINUX下生成result123.txt,myproc的輸出參數在‘retcode【‘和‘】retcode‘之間。