create or replace trigger tri_test
after insert or update or delete on t
for each row
declare
-- local variables here
v_tablename nvarchar2(40);
v_errcode varchar2(100);
v_errinf varchar2(100);
--e exception;
begin
v_tablename := 'test'; --需修改
if inserting then
--处理插入
insert into test@water
values
(
:NEW.id,
:NEW.username,
:NEW.password
);
--raise e;
end if;
if deleting then
delete from test@water where ID=:old.ID;
end if;
if updating then
update test@water
set
username=:NEW.username,
password=:NEW.password
where ID=:old.ID;
end if;
exception
when others then
v_errcode:=SQLCODE;
v_errinf:=SUBSTR(SQLERRM,1,200);
insert into trig_syncerror values (v_tablename,system,v_errcode,v_errinf);
dbms_output.put_line('err!');
end;
/上段程序 异常处理部分哪里出错了? 求高手指导
after insert or update or delete on t
for each row
declare
-- local variables here
v_tablename nvarchar2(40);
v_errcode varchar2(100);
v_errinf varchar2(100);
--e exception;
begin
v_tablename := 'test'; --需修改
if inserting then
--处理插入
insert into test@water
values
(
:NEW.id,
:NEW.username,
:NEW.password
);
--raise e;
end if;
if deleting then
delete from test@water where ID=:old.ID;
end if;
if updating then
update test@water
set
username=:NEW.username,
password=:NEW.password
where ID=:old.ID;
end if;
exception
when others then
v_errcode:=SQLCODE;
v_errinf:=SUBSTR(SQLERRM,1,200);
insert into trig_syncerror values (v_tablename,system,v_errcode,v_errinf);
dbms_output.put_line('err!');
end;
/上段程序 异常处理部分哪里出错了? 求高手指导
改成
select SUBSTR(SQLERRM,1,200) into v_errinf from dual;