首页 > 数据库技术 > 详细

ORACLE 触发器

时间:2020-05-25 20:09:58      阅读:44      评论:0      收藏:0      [点我收藏+]

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;

ORACLE 触发器

原文:https://www.cnblogs.com/supermwb/p/12960482.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!