刚接触oracle,新建了一个before delete的触发器,但老是报ldquo;警告: 创建的触发器带有编译错误rdquo;,最后发现是触发器里面
刚接触oracle,,新建了一个before delete的触发器,但老是报“警告: 创建的触发器带有编译错误”,最后发现是触发器里面的语句没有写分号的原因。
下面帖出来,也供新手参考:
1.创建表:
create table test1(cardid number, name nvarchar2(20), sex number);
create table test2(cardid number, name nvarchar2(20));
create table test3(cardid number, name nvarchar2(20));
2.触发器--删除test2中的记录时将其备份到test3:
create or replace trigger trig_del_backup
after delete
on test2
for each row
declare
--fdsfaf
begin
insert into test3 values(:old.cardid, :old.name);
end
;
/
3.触发器--删除test2时同时删除test1:
create or replace trigger trig_del
after delete
on test2
for each row
declare
--fdsfaf
begin
delete from test1 where cardid=:old.cardid and name=:old.name;
end
;
/