1.如果是命令窗口就用exec 存儲過程名:
| 1 |
|
2.如果是 SQL窗口就用 begin 存儲過程名 end;
| 1 2 3 |
|
3.如果是程序中調用就用 call 存儲過程名 ,舉個栗子:
hibernateDao.excuteSqlUpdate("{Call proc_stuInfo()}");//存儲過程proc_stuInfo
-----------------------------------------------------------------------------------------------------------------------------------
4、帶 in out 類型的參數執行 (oracle 存儲過程 交換兩個變量的值)
先定義變量賦值后 再調用執行 例如:
declare
a varchar2(20):= '01';
b varchar2(20):='02';
-- a= '01' ;b='02';
begin
exchange(a ,b);
--存儲過程定義
create or replace procedure exchange(a in out varchar2, b in out varchar2) is
v_b varchar2(30);
-- a varchar2(30);
--b varchar2(30);
begin
v_b :=a;
a := b;
b := v_b;
dbms_output.put_line('a:'||a||' b:'||b);
end exchange;
--執行
declare
a varchar2(20):= '01';
b varchar2(20):='02';
-- a= '01' ;b='02';
begin
exchange(a ,b);
END;
結果:
、
5.存儲過程中調用存儲過程
直接寫存儲過程名就行
procedure; --procedure是存儲過程名
