CREATE OR REPLACE TRIGGER demotr
BEFORE INSERT ON a
FOR EACH ROW
declare
t_num NUMBER;
BEGIN
select count(*) into t_num from b where id=:new.id;
IF t_num<> 0 THEN
insert into c values(:new.id);
:new.id:= 0;//不能对表a进行删除操作,此处给新插入的行设特定值
END IF;
END demotr;
/
BEFORE INSERT ON a
FOR EACH ROW
declare
t_num NUMBER;
BEGIN
select count(*) into t_num from b where id=:new.id;
IF t_num<> 0 THEN
insert into c values(:new.id);
:new.id:= 0;//不能对表a进行删除操作,此处给新插入的行设特定值
END IF;
END demotr;
/
ON "SCOTT"."A"
declare
i number;
begin
select a.id into i from a,b where a.id=b.id;
if i >= 0 then
delete from a where id=i;
insert into c values (i);
end if;
end;
zhaoyongzhu(zhaoyongzhu) 也是一样的,在触器中不能对当前的数据表进行任何操作。