create trigger TDA_P_DEMO_IMG_MAX_TIMES after delete
on T_DEMO_IMG
declare
integrity_error exception;
errno integer;
errmsg char(200);
dummy integer;
found boolean;
begin
IntegrityPackage.NextNestLevel;
update T_DEMO_IMG
set MAX_MODIFY_TIMES= 100000
from T_DEMO_IMG a,deleted b
where a.CORP_EMS_NO=b.CORP_EMS_NO and a.IMG_NO=b.IMG_NO and a.MAX_MODIFY_TIMES=b.MODIFY_TIMES and a.MODIFY_TIMES < b.MODIFY_TIMES;
IntegrityPackage.PreviousNestLevel;-- Errors handling
exception
when integrity_error then
begin
IntegrityPackage.InitNestLevel;
raise_application_error(errno, errmsg);
end;
end;
on T_DEMO_IMG
declare
integrity_error exception;
errno integer;
errmsg char(200);
dummy integer;
found boolean;
begin
IntegrityPackage.NextNestLevel;
update T_DEMO_IMG
set MAX_MODIFY_TIMES= 100000
from T_DEMO_IMG a,deleted b
where a.CORP_EMS_NO=b.CORP_EMS_NO and a.IMG_NO=b.IMG_NO and a.MAX_MODIFY_TIMES=b.MODIFY_TIMES and a.MODIFY_TIMES < b.MODIFY_TIMES;
IntegrityPackage.PreviousNestLevel;-- Errors handling
exception
when integrity_error then
begin
IntegrityPackage.InitNestLevel;
raise_application_error(errno, errmsg);
end;
end;
set MAX_MODIFY_TIMES= 100000
from T_DEMO_IMG a,deleted b
================================
oracle哪有这种UPDATE语法?
你的trigger写的有语法错误,update是sqlserver的语法,oracle的不是这么写的。