Oracle 执行存储过程五种方法(带参数& 不带参数)

1.如果是命令窗口就用exec 存储过程名:

1

EXEC  procedure--procedure是存储过程名

 2.如果是  SQL窗口就用 begin  存储过程名  end; 

1

2

3

begin

  procedure;--procedure是存储过程名

end;

 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是存储过程名

posted @ 2022-04-16 13:39  TwinStudio  阅读(10179)  评论(0编辑  收藏  举报