【发布时间】:2017-12-18 01:58:25
【问题描述】:
create or replace trigger tgr_insertinworkdone
after update on workassgined
referencing new as new old as old
for each row
declare
workdonetemp number(15);
begin
select max(workdoneid) into workdonetemp from workdone;
if :new.complete_status = 'T'
then
insert into workdone(workdoneid,workid,workdatedate,type,status)
values(workdonetemp+1,old.docid,old.taskdate,'C','Completed');
end if;
end;
出现错误 OR:00984 列在此处不允许。 在这里,我尝试根据 workassgined 表中的完整标志 Ture 在 workdone 表中插入一行,一旦此标志变为“T”,则应将一行插入 workdonw 表中。有什么帮助吗?
【问题讨论】:
-
语法是在
old和new命名空间前加上冒号。所以:old.docid不是old.docid