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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM