/*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;
游标cursor
最新推荐文章于 2023-03-25 23:23:48 发布