写了个 insert触发器不起作用

yoopk 2017-05-17 05:41:39
create or replace trigger ChangeCalendarIdTrigger
after insert on KM_CALENDAR_MAIN
for each row
declare --这里是关键的地方,在变量申明的地方,指定自定义事务处理。
pragma autonomous_transaction;
begin
update KM_CALENDAR_MAIN
set DOC_OWNER_ID =(select FD_ID from SYS_ORG_ELEMENT where KM_CALENDAR_MAIN.DOC_CREATOR_NAME=SYS_ORG_ELEMENT.FD_NAME)
WHERE :old.DOC_OWNER_ID is null;
commit;
end;


-----------------------------------------------------------
目的是当表A插入数据时,根据插入数据中字段的值把表B中对应字段的值更新到新插入表A的数据中。
...全文
563 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2017-05-18
  • 打赏
  • 举报
回复

create or replace trigger ChangeCalendarIdTrigger
    after insert on KM_CALENDAR_MAIN
    for each row
begin
    if :old.DOC_OWNER_ID is null then
        select FD_ID
          into :new.DOC_OWNER_ID
          from SYS_ORG_ELEMENT
         where :new.DOC_CREATOR_NAME = FD_NAME;
    end if;
end;

3,497

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧