ORACLE 触发器

CREATE OR REPLACE TRIGGER mwb_trigger
before
--AFTER
--
INSERT

on --理解为在的意思

jw_cj_xscjb --表名

for each ROW
DECLARE

V_COUNT NUMBER(10);
Pragma autonomous_transaction;
begin
SELECT COUNT(*) INTO V_COUNT FROM JW_TAB_XSGPA WHERE xh=:NEW.xh;
IF V_COUNT = 0 THEN
INSERT INTO JW_TAB_XSGPA (XH,GPA,NJ,DQSJ,XNXQ)
select xh, JW_FCJ_PJGPA_ONE(xj_xsxxb.xh ,'-1-1','-1-1') gpa,nj,SYSDATE dqsj,(SELECT xn||'-'||xq from dm_xnxqb WHERE sfdqxq='1') xnxq from xj_xsxxb WHERE xydm NOT IN ('41','44','45','18') AND xh= :NEW.xh;
ELSE
UPDATE JW_TAB_XSGPA SET GPA=(SELECT JW_FCJ_PJGPA_ONE(:NEW.xh ,'-1-1','-1-1') from DUAL),NJ=:NEW.NJ,DQSJ=SYSDATE,XNXQ=(SELECT xn||'-'||xq from dm_xnxqb WHERE sfdqxq='1') WHERE XH=:NEW.XH;
END IF;
COMMIT;
END;

posted @ 2020-05-25 19:37  老街巷口熟睡的猫  阅读(140)  评论(0编辑  收藏  举报