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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值