|
|
create or replace trigger NODERT_INSERT
before INSERT
ON bhgl.t_nodert
FOR EACH ROW
DECLARE
V_NUMBER NUMBER;
V_LIMIT_DAY NUMBER;
V_DEADLINE date;
V_DataSource VARCHAR2(100);
V_INDUSTRY VARCHAR2(100);
V_STATE VARCHAR2(100);
V_STATE_OLD VARCHAR2(100);
v_spsx date;
BEGIN
--此处省略部分代码:给参数 V_LIMIT_DAY定义值
select getdeferdate(sysdate, V_LIMIT_DAY) INTO V_DEADLINE from dual;
INSERT INTO t_m_node_deadline --此处执行成功
(nodert_id, docid, nodeid, deadline, CREATETIME, flagtest)
VALUES
(:NEW.ID, :NEW.DOCID, :NEW.NODEID, V_DEADLINE, sysdate, '11');
update tlk_complaint t --此处执行不成功
set t.item_spsx_now = V_DEADLINE
where t.id = :NEW.DOCID;
--如果为回退闭环组,则刷新t_m_node_deadline:nodeid及v_spsx
if (V_STATE_OLD = '回退闭环组') then
SELECT ITEM_SPSX INTO v_spsx FROM TLK_COMPLAINT WHERE ID = :NEW.DOCID;
IF (v_spsx IS NOT NULL) THEN
update TLK_COMPLAINT t --此处执行不成功
set t.item_spsx_now = t.item_spsx, t.ITEM_SPSX = null
where t.ID = :NEW.DOCID;
update t_m_node_deadline s --此处执行成功
set s.deadline = v_spsx, s.createtime = sysdate, s.flagtest = '22'
where s.docid = :NEW.DOCID;
end if;
end if;
END; |
|