Oracle 在一个表上更新后插入触发器

Oracle 在一个表上更新后插入触发器,oracle,triggers,Oracle,Triggers,此处不允许获取错误或:00984列。 在这里,我尝试根据WorkAsEngined表中的complete标志true在WorkOne表中插入一行,一旦该标志变为“T”,则应将一行插入workdonw表。有什么帮助吗?我猜你的密码丢失了旧密码之前的冒号(:) 应该是 N插入workdone(workdoneid、workid、workdatedate、类型、状态) 值(workdonetemp+1,:old.docid,:old.taskdate,'C','Completed') 语法是在old和

此处不允许获取错误或:00984列。
在这里,我尝试根据WorkAsEngined表中的complete标志true在WorkOne表中插入一行,一旦该标志变为“T”,则应将一行插入workdonw表。有什么帮助吗?

我猜你的密码丢失了旧密码之前的冒号(:) 应该是

N插入workdone(workdoneid、workid、workdatedate、类型、状态)
值(workdonetemp+1,:old.docid,:old.taskdate,'C','Completed')

语法是在
old
new
名称空间前面加一个冒号。所以
:old.docid
不是
old.docid
非常感谢您,先生!,现在开始工作了,我错了。
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;