奇怪,为什么这个触发器要commit后才能触发?
小弟建立了一个如下触发器,每次向SMS_GetOrder添加一条记录后,还要执行一下commit;才能查到触发器向表SMS_Day_Report中添加了记录,若在触发器的begin...end间只有一个insert语句则一切正常:
create or replace trigger insert_GetOrder_report_test2
before insert on SMS_GetOrder
for each row
declare
recordNum BINARY_INTEGER; --是否有记录:0 or 1
hourStr CHAR(2);
begin
hourStr:=substr(to_char(sysdate,'yyyymmdd hh24:mi:ss'),10,2);
select count(id) into recordNum from SMS_Day_Report@DBLinkOperation
where to_char(RDate,'YYYYmmdd')=to_char(sysdate,'YYYYmmdd')
and AreaCode=:new.AreaCode
and CityNumber=:new.CityNumber
and Types=1;
IF recordNum=0 THEN
insert into SMS_Day_Report@DBLinkOperation (RDate,AreaCode,CityNumber,Types,H0)
values(sysdate,:new.AreaCode,:new.CityNumber,1,1);
END IF;
end;