CREATE OR REPLACE TRIGGER MONITOR.trig_T
after delete or insert or update on epex.T_
for each row
declare
-- local variables here
begin
-- insert into swan values(:OLD.An);
case
when inserting then
insert into monitor.T (
ZSKEY,
PUBDATE,
PUBTYPE ,
AN ,
PN ,
EDZ ,
STATUS ,
SENDTIME ,
GETTIME ,
AD ,
TI ,
E72 ,
E73 ,
EDITRECORD ,
TRRIGERTIME,
TRRIGERTYPE
)
values (
SYS_GUID() ,
:NEW.PUBDATE,
:NEW.PUBTYPE ,
:NEW.AN ,
:NEW.PN ,
:NEW.EDZ ,
:NEW.STATUS ,
:NEW.SENDTIME ,
:NEW.GETTIME ,
:NEW.AD ,
:NEW.TI ,
:NEW.E72 ,
:NEW.E73 ,
:NEW.EDITRECORD ,
to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'),
'INSERT');
when updating then
insert into monitor.T (
ZSKEY,
PUBDATE,
PUBTYPE ,
AN ,
PN ,
EDZ ,
STATUS ,
SENDTIME ,
GETTIME ,
AD ,
TI ,
E72 ,
E73 ,
EDITRECORD ,
TRRIGERTIME,
TRRIGERTYPE
)
values (
SYS_GUID() ,
:NEW.PUBDATE,
:NEW.PUBTYPE ,
:NEW.AN ,
:NEW.PN ,
:NEW.EDZ ,
:NEW.STATUS ,
:NEW.SENDTIME ,
:NEW.GETTIME ,
:NEW.AD ,
:NEW.TI ,
:NEW.E72 ,
:NEW.E73 ,
:NEW.EDITRECORD ,
to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'),
'UPDATE');
when deleting then
insert into monitor.T (
ZSKEY,
PUBDATE,
PUBTYPE ,
AN ,
PN ,
EDZ ,
STATUS ,
SENDTIME ,
GETTIME ,
AD ,
TI ,
E72 ,
E73 ,
EDITRECORD ,
TRRIGERTIME,
TRRIGERTYPE
)
values (
SYS_GUID() ,
:OLD.PUBDATE,
:OLD.PUBTYPE ,
:OLD.AN ,
:OLD.PN ,
:OLD.EDZ ,
:OLD.STATUS ,
:OLD.SENDTIME ,
:OLD.GETTIME ,
:OLD.AD ,
:OLD.TI ,
:OLD.E72 ,
:OLD.E73 ,
:OLD.EDITRECORD ,
to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'),
'DELETE');
end case;
exception
WHEN OTHERS THEN
monitor.rectrigerror('T',sqlcode,sqlerrm);
end test;
其中rectrigerror为一个存储过程,改存储过程是往一个报错表内插入报错信息,用于监控