【学亮IT手记】PL/SQL编程-存储过程
生活随笔
收集整理的這篇文章主要介紹了
【学亮IT手记】PL/SQL编程-存储过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
存儲過程實際上就是一種命名的PL/SQL程序塊。
創建存儲過程
創建存儲過程需要使用procedure關鍵字。
創建存儲過程不需要使用DECLARE關鍵字,轉而使用CREATE/REPLACE關鍵字。
在sql*plus環境,使用EXECUTE命令執行pro_insertDept存儲過程:
execute pro_insertDept;在PL/SQL代碼塊中調用存儲過程pro_insertDept:
beginpro_insertDept; end;存儲過程的模式參數
存儲過程的參數模式包括in out和in out等3種。
in模式參數
create or replace prodecure pro_insertDept(num_deptno in number,var_ename in vatchar2,var_loc in varchar2 ) is begininsert into dept values(num_deptno,var_ename,var_loc);commit; end pro_insertDept;需要注意的是:參數的類型不能指定長度。
①按指定名稱傳遞
beginpro_insertDept(var_ename=>'采購部',var_loc=>'西京',num_deptno=>18); end;②按位置傳遞
beginpro_insertDept(28,'工程部','武漢'); end;用戶提供的參數值順序必須與存儲過程定義的參數順序相同。
ps:可以使用DESC命令來查看存儲過程中的參數信息。
③混合方式傳遞
beginpro_insertDept(38,var_loc=>'光谷',var_ename=>'光電信息產業部'); end;注意:在某個位置使用了“按指定名稱傳遞”的方式傳入參數值后,其后面的參數值也要使用“按指定名稱傳遞”,因為“按指定名稱傳遞”或許已經破壞了參數原始的定義順序。
in參數的默認值
create or replace procedure pro_insertDept(num_deptno in number,var_dname in varchar2 default '綜合部',var_loc in varchar2 default '武漢' ) is begininsert into dept values(num_deptno,var_dname,var_loc); end;調用存儲過程pro_insertDept,只向該存儲過程傳入兩個參數值。
declarerow_dept dept%rowtype; beginpro_insertDept(57,var_loc=>'江夏');commit;select * into row_dept from dept where deptno=57;dbms_output.put_line('部門名稱是:'||row_dept.dname||',位置是:'||row_dept.loc); end;總結
以上是生活随笔為你收集整理的【学亮IT手记】PL/SQL编程-存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学亮IT手记】枚举类入门实例讲解
- 下一篇: MySQL日期及时间加减函数