Oracle的存儲過程編程

--创建或者更新存储过程update_user_p  
create or replace procedure update_user_p(param1 in varchar2) is  
  v_taskName VARCHAR2(20); --定义变量,Oracle类型。  
  v_i        number(12);  
  --将User_Advisor_Log表的结果集赋给cur  
  CURSOR cur IS  
    SELECT * FROM User_Advisor_Log;  
  --sql开始标记,以上是定义变量,以下才写程序  
begin  
  DBMS_OUTPUT.PUT_LINE(param1);  
  v_i := 0;  
  DBMS_OUTPUT.PUT_LINE('start!');  
  --遍历结果集  
  for cur_result in cur LOOP  
    
    begin  
      v_taskName := cur_result.TASK_NAME; --将结果集赋给变量v_creator,一个语句结束需要分号结尾。  
      
      --if语句开始  
      if v_taskName > 0 then  
        begin  
          NULL; --NULL 语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;  
        end;  
      end if;  
      
      --while循环  
      while v_taskName > 0 LOOP  
        begin  
          NULL;  
        end;  
      end LOOP;  
      
      --建议每循环一万次提交一下  
      v_i := v_i + 1;  
      if mod(v_i, 10000) = 0 then  
        commit;  
      end if;  
      
      --有异常输出,或者在这里回滚  
    exception  
      when others then  
        DBMS_OUTPUT.PUT_LINE('update_user_p has error!');  
    end;  
  end LOOP; --循环结束  
  commit;  
  DBMS_OUTPUT.PUT_LINE('end and commit!');  
end update_user_p;  
执行存储过程:call update_user_p('this is param')。在 output  里可以看见DBMS_OUTPUT.PUT_LINE的输出。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值