实战项目——oracle存储过程

本文介绍了一个Oracle存储过程的创建与执行。存储过程`vipInfoTest`接受一个IN参数和一个OUT参数,根据条件更新或插入数据到`T_VIP_INFO091010`表中。在PLSQL环境中,通过声明变量并调用存储过程,展示如何传递参数并打印输出结果。
摘要由CSDN通过智能技术生成

一 oracle存储过程编译

--申明存储过程 IN 入参  OUT出参
create or replace procedure vipInfoTest(inPut IN number,outResult OUT number) as
--定义属性
v_totalCount number ;

begin
 
--CURSOR v_totalCount IS
  --查询赋值

  SELECT count(1),count(2) into v_totalCount,outResult from brsalpp.T_VIP_INFO091010;
 
--IF判断  
  IF (v_totalCount > inPut)
  THEN 
      UPDATE 
        T_VIP_INFO091010 t 
      SET
        t.is_valid = 'Y',
        t.update_time = sysdate where rownum=1 and t.is_valid='N'; 
  ELSE
     insert into brsalpp.T_VIP_INFO091010 (C_SLS_CDE,LAST_PAY_TIME,VIP_BEGIN_TIME,VIP_END_TIME,IS_VALID,CREATE_TIME,CREATE_NAME,UPDATE_TIME,UPDATE_NAME,IS_PAY_VIP)
     select a.C_SLS_CDE,a.LAST_PAY_TIME,a.VIP_BEGIN_TIME,a.VIP_END_TIME,'Y',sysdate,a.CREATE_NAME,sysdate,a.UPDATE_NAME,a.IS_PAY_VIP from brsalpp.T_VIP_INFO091010 a where rownum=1;
  end if;

--提交事务
commit;
--结束存储过程
end vipInfoTest;

二 PL SQL在sql窗口执行

--定义接收属性
declare 
aaa number; 

--执行开始
begin
  -- Call the procedure 带入入参、出参执行上面定义的存储过程
  vipinfotest(9,aaa); 
 
--打印输出 可在plsql输出窗口查看打印输出的结果
  dbms_output.put_line(aaa); 
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值