oracle存儲過程的參數類型有:1、輸入類型,表示調用者向過程傳入值;2、輸出類型,表示過程向調用者傳出值(可以返回多個值);3、輸入輸出類型,既表示調用者向過程傳入值,又表示過程向調用者傳出值。
本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
oracle 存儲過程的參數類型
1、in:輸入類型,即由應用程序將數據傳入oracle存儲過程中,表示調用者向過程傳入值;這種參數在存儲過程中是只讀參數,在存儲過程中無法對該類型的參數進行修改;
2、out:輸出類型,表示過程向調用者傳出值。
3、in out:輸入輸出類型,兼具以上兩種特性,但可讀可寫;既表示調用者向過程傳入值,又表示過程向調用者傳出值。
驗證輸入參數:
由于默認參數是輸入類型的,在上圖中,對BAcount參數賦值,報錯。
解決辦法:
CREATE?OR?REPLACE?PACKAGE?body?BAWQ_PROC_JGZX?IS PROCEDURE?PROC_CSJGZX ( ????pproc?VARCHAR2, ????BAcount?int?:=3 ) IS ?i?int?:=BAcount;??--定義變量,通過變量替代參數 BEGIN ?????i:=BAcount; dbms_output.put_line(i); ??delete?CSJGZX; ??while?i>0?LOOP ???????i?:=?i-1?;?? ???????????insert?into?CSJGZX?(CSJGZX_PROC,id,bh,mc,data)?values(pproc,SYS_GUID(),SYS_GUID(),'濟南',cast(DBMS_RANDOM.VALUE(1,200)?as?int)); ???????commit; ???end?loop; END?PROC_CSJGZX; END?BAWQ_PROC_JGZX;
簡單來說 in 是調用存儲過程的時候向存儲過程傳遞的消息。out是存儲過程向調用者傳出的消息。in out 則是兩者之間相互通信。
推薦教程:《Oracle教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦