oracle plsql存儲過程中out模式參數的用法


在plsql中,存儲過程中的out模式的參數可以用來返回數據,相當於函數的返回值。下面是一個小例子。

沿用上一篇的emp表結構和數據。

存儲過程如下:

create or replace procedure out_test(v_user   in emp.user_name%type,
                                     v_salary out emp.salary%type,
                                     v_deptno out emp.emp_deptno%type) as
begin
  select salary, emp_deptno
    into v_salary, v_deptno
    from emp
   where user_name = v_user;
exception
  when NO_DATA_FOUND then
    dbms_output.put_line('No data found');
  when TOO_MANY_ROWS then
    dbms_output.put_line('Too many rows found');
end out_test;

在命令行中調用該存儲過程,利用綁定變量

SQL> var v_user varchar2(20);
SQL> var v_salary number;
SQL> var v_deptno number;
SQL> exec :v_user := 'Lisi';
 
PL/SQL procedure successfully completed
v_user
---------
Lisi
 
SQL> exec out_test(:v_user, :v_salary, :v_deptno);
 
PL/SQL procedure successfully completed
v_user
---------
Lisi
v_salary
---------
11500
v_deptno
---------
20

這是在plsql developer下運行的結果,這個工具是一個很好的oracle的可視化編程工具。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM