--智能稽核任务下发标识更新 CREATE OR REPLACE PROCEDURE HIGHWAY_EXCHANGE.CHECK_AUDITTASK /* (参数, 参数...) */ IS M_COUNT NUMBER; --读取各服务区最大任务时间 CURSOR C_AUDITTASKS IS SELECT SERVERPARTCODE,MAX(OPERATE_DATE) AS OPERATE_DATE FROM HIGHWAY_EXCHANGE.T_AUDITTASKS GROUP BY SERVERPARTCODE; M_AUDITTASKS C_AUDITTASKS%ROWTYPE; /*CURSOR C_DOWNLOADUPDATE IS SELECT PROVINCE_CODE,SERVERPARTCODE, TABLENAME,VERSIONUPDATE_DATE FROM HIGHWAY_EXCHANGE.T_DOWNLOADUPDATE WHERE TABLENAME = 'T_AUDITTASKS'*/ BEGIN --稽核任务计划信息 FOR M_AUDITTASKS IN C_AUDITTASKS LOOP --更新下发标识 SELECT COUNT(1) INTO M_COUNT FROM HIGHWAY_EXCHANGE.T_DOWNLOADUPDATE WHERE SERVERPARTCODE = M_AUDITTASKS.SERVERPARTCODE AND TABLENAME = 'T_AUDITTASKS'; IF M_COUNT = 0 THEN INSERT INTO HIGHWAY_EXCHANGE.T_DOWNLOADUPDATE ( DOWNLOADUPDATE_ID,SERVERPARTCODE,TABLENAME, VERSIONUPDATE_DATE,CREATE_DATE ) VALUES (HIGHWAY_EXCHANGE.SEQ_DOWNLOADUPDATE.NEXTVAL, M_AUDITTASKS.SERVERPARTCODE,'T_AUDITTASKS', M_AUDITTASKS.OPERATE_DATE,SYSDATE); ELSE SELECT COUNT(1) INTO M_COUNT FROM HIGHWAY_EXCHANGE.T_DOWNLOADUPDATE WHERE SERVERPARTCODE = M_AUDITTASKS.SERVERPARTCODE AND VERSIONUPDATE_DATE < M_AUDITTASKS.OPERATE_DATE AND TABLENAME = 'T_AUDITTASKS'; IF M_COUNT > 0 THEN UPDATE HIGHWAY_EXCHANGE.T_DOWNLOADUPDATE SET VERSIONUPDATE_DATE = M_AUDITTASKS.OPERATE_DATE WHERE SERVERPARTCODE = M_AUDITTASKS.SERVERPARTCODE AND TABLENAME = 'T_AUDITTASKS'; END IF; END IF; END LOOP; END ; /