某中间件产生oracle 触发器脚本如下:
CREATE OR REPLACE TRIGGER "WHCJ_11"."YOA_JZ_ARCHIVE_SNP__AIUD"
AFTER INSERT OR UPDATE OR DELETE ON "WHCJ_11"."YOA_JZ_ARCHIVE "
FOR EACH ROW
DECLARE
cnt INT;
BEGIN
IF INSERTING THEN
SELECT COUNT(*) INTO cnt FROM INFORSUITE.YOA_JZ_ARCHIVE_SNP_ WHERE INFORSUITE.YOA_JZ_ARCHIVE_SNP_.ID=:NEW.ID;
IF cnt > 0 THEN
UPDATE INFORSUITE.YOA_JZ_ARCHIVE_SNP_ SET FLAG_='O',LOCK_=LOCK_+1 WHERE INFORSUITE.YOA_JZ_ARCHIVE_SNP_.ID=:NEW.ID;
ELSE
INSERT INTO INFORSUITE.YOA_JZ_ARCHIVE_SNP_ (ID,FLAG_) VALUES (:NEW.ID,'I');
END IF;
ELSIF
UPDATING THEN SELECT COUNT(*) INTO cnt FROM INFORSUITE.YOA_JZ_ARCHIVE_SNP_ WHERE INFORSUITE.YOA_JZ_ARCHIVE_SNP_.ID=:NEW.ID;
IF cnt > 0 THEN
UPDATE INFORSUITE.YOA_JZ_ARCHIVE_SNP_ SET LOCK_=LOCK_+1 WHERE INFORSUITE.YOA_JZ_ARCHIVE_SNP_.ID=:OLD.ID;