找回密码
 注册成为天翎用户
查看: 881|回复: 5

[其他] 业务库表t_nodert触发器执行update业务表失败(cm)

[复制链接]
JT38180318 发表于 2014-8-4 17:20:43 | 显示全部楼层 |阅读模式
本帖最后由 nice 于 2014-8-21 18:44 编辑

【Sp8,tel 020-86010123-257】
业务表A
触发器B( before  INSERT   ON  t_nodert)
流程C(A绑定了C流程)

在提交流程C时,触发器B可以执行成功,但是B里面对A表的update,全部执行无效,未进行相关字段的更新,求解答!
 楼主| JT38180318 发表于 2014-8-6 17:02:29 | 显示全部楼层
不管能否解决该问题,我还是需要确认,上述情况,是否是因为该条记录在提交未结束前被锁住了,导致不能在触发器中updaet,还是因为别的原因?
回复

使用道具 举报

 楼主| JT38180318 发表于 2014-8-12 15:49:27 | 显示全部楼层
怎么没人回复的?
回复

使用道具 举报

punk 发表于 2014-8-22 13:53:01 | 显示全部楼层
您好~加下我的qq 2023469350,我远程看一下。
回复

使用道具 举报

punk 发表于 2014-8-22 13:55:33 | 显示全部楼层
帖你的触发器update的语句看一下。
回复

使用道具 举报

 楼主| JT38180318 发表于 2014-8-25 15:12:00 | 显示全部楼层
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;
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 21:38

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表