oracle中存儲過程的out參數是什么

oracle中,存儲過程中的out參數是輸出模式的參數,用于輸出值,會忽略傳入的值,在子程序內部可以對其進行修改,子程序執行完畢后,out模式參數最終的值會賦值給調用時對應的實參變量,其中out模式參數的調用,必須通過變量。

oracle中存儲過程的out參數是什么

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

oracle中存儲過程的out參數是什么

一、什么是存儲過程

Oracle存儲過程可以說是一個記錄集吧,它是由一些PL/sql語句組成的代碼塊,這些PL/SQL語句代碼像一個方法一樣實現一些功能(對單表或多表的增刪改查),然后再給這個代碼塊取一個名字,在用到這個功能的時候調用他就行了。

存儲過程的好處:

由于數據庫執行動作時,是先編譯后執行的。然而存儲過程是一個編譯過的代碼塊,所以執行效率要比PL/SQL語句高。

一個存儲過程在程序、在網絡中交互時可以替代大的PL/SQL語句,所以也能降低網絡的通信量,提高通信速率。

通過存儲過程能夠使沒有權限的用戶在控制之下間接地存取數據庫,從而確保數據的安全。

存儲過程示例:

--給指定的員工漲100塊錢的工資,并且打印漲前和漲后的薪水 create?or?replace?procedure?raiseSalary(eno?in?number) as ??--定義變量,保存漲前的薪水 ??psal?emp.sal%type; begin ??--得到漲前的薪水 ??select?sal?into?psal?from?emp?where?empno=eno; ??--漲100 ??update?emp?set?sal=sal+100?where?empno=eno; ?? ??--要不要commit? ??--一般,不在存儲過程或者存儲函數中提交和回滾 ?? ??dbms_output.put_line('漲前:'||psal||'???漲后:'||(psal+100)); end; /

二、什么是out參數?

輸出模式的參數,用于輸出值,會忽略傳入的值。在子程序內部可以對其進行修改。?輸出:子程序執行完畢后,out模式參數最終的值會賦值給調用時對應的。?注意:out模式參數的調用,必須通過變量。

out參數示例:

--查詢某個員工的姓名?月薪和職位 /* 1.?查詢某個員工的所有信息?--->?out參數太多 2.?查詢某個部門中所有員工的所有信息?-->?返回集合 */ create?or?replace?procedure?queryempinfo(eno?in?number, ?????????????????????????????????????????pename?out?varchar2, ?????????????????????????????????????????psal???out?number, ?????????????????????????????????????????pjob???out?varchar2) as begin ??select?ename,sal,empjob?into?pename,psal,pjob?from?emp?where?empno=eno; end; /

推薦教程:《Oracle視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享