在 AAA 表建立的插入触发器,如果BBB表没有该条插入记录,就插入 有该条记录,就抛弃,问题是如何抛弃这条记录呢?? create or replace trigger trg_aaa
before insert on aaa
for each row
declare
v_count number(16);
begin
v_count := 0;
select count(1) into v_count from bbb where servnumber= :new.servnumber;
if (v_count > 0) then
--就抛弃这条记录,如何抛弃?
end if;
end trg_aaa;
before insert on aaa
for each row
declare
v_count number(16);
begin
v_count := 0;
select count(1) into v_count from bbb where servnumber= :new.servnumber;
if (v_count > 0) then
--就抛弃这条记录,如何抛弃?
end if;
end trg_aaa;
其实可以用merge来做,一条语句就够了
--就抛弃这条记录,如何抛弃?
end if;
改成:
if (v_count = 0) then
insert into bbb.... --改成没有就插入
end if;
楼上貌似理解错了, 楼主想拦截对aaa表的插入语句。
raise_application_error(-20001,'ddd');
using (
select :new.servnumber sernumber from dual
) a
on a.servernumber=b.servernumber
WHEN NOT MATCHED THEN
INSERT
VALUES (a.sernumber);