Oracle 在一个表上更新后插入触发器
此处不允许获取错误或:00984列。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和
在这里,我尝试根据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;