游标cursor

	/*1、声明游标*/
    declare 
      cursor CUR_SUB_FAULT
      is
        select SUB_FAULT_SHEET_ID, SHEET_STATUS 
        from FB_J_SUB_FAULT_SHEET
        where SHEET_STREAM_NO=V_p_SHEET_STREAM_NO 
        and SHEET_STATUS!=V_new_SUB_FAULT_SHEET_STATUS;
    begin
        /*2、打开游标*/
        open CUR_SUB_FAULT;
        /*3、给第一行数据*/
        fetch CUR_SUB_FAULT into V_SUB_FAULT_SHEET_ID, V_old_SUB_FAULT_SHEET_STATUS;
              /*4、测试是否有数据,并执行循环*/
              While CUR_SUB_FAULT%found  loop
                    if V_new_SUB_FAULT_SHEET_STATUS!=V_old_SUB_FAULT_SHEET_STATUS then
                       /*  将子故障状态置为与大单状态相同  */
                       update FB_J_SUB_FAULT_SHEET 
                       set SHEET_STATUS=V_new_SUB_FAULT_SHEET_STATUS 
                       where SUB_FAULT_SHEET_ID=V_SUB_FAULT_SHEET_ID and SHEET_STATUS!=V_new_SUB_FAULT_SHEET_STATUS ;
                       /*  根据子故障变化修改小单状态  */
                       execute immediate 'call ATUO_CHG_SS_STA_BY_SFS(:V_p_SUB_FAULT_SHEET_ID,:V_p_old_SHEET_STATUS,:V_p_new_SHEET_STATUS)'
                                 using V_SUB_FAULT_SHEET_ID,V_old_SUB_FAULT_SHEET_STATUS,V_new_SUB_FAULT_SHEET_STATUS;
                    end if;
                    /*5、给下一行数据*/
                    fetch CUR_SUB_FAULT into V_SUB_FAULT_SHEET_ID, V_old_SUB_FAULT_SHEET_STATUS;
              /*6、关闭循环*/
              end loop;
        /*7、关闭游标*/
        close CUR_SUB_FAULT;
    end; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值