oracle存儲過程的參數類型有哪些

oracle存儲過程的參數類型有:1、輸入類型,表示調用者向過程傳入值;2、輸出類型,表示過程向調用者傳出值(可以返回多個值);3、輸入輸出類型,既表示調用者向過程傳入值,又表示過程向調用者傳出值。

oracle存儲過程的參數類型有哪些

本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

oracle 存儲過程的參數類型

1、in:輸入類型,即由應用程序將數據傳入oracle存儲過程中,表示調用者向過程傳入值;這種參數在存儲過程中是只讀參數,在存儲過程中無法對該類型的參數進行修改;

2、out:輸出類型,表示過程向調用者傳出值。

3、in out:輸入輸出類型,兼具以上兩種特性,但可讀可寫;既表示調用者向過程傳入值,又表示過程向調用者傳出值。

驗證輸入參數:

oracle存儲過程的參數類型有哪些

由于默認參數是輸入類型的,在上圖中,對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
喜歡就支持一下吧
點贊14 分享