【发布时间】:2013-02-20 23:22:05
【问题描述】:
我在 table1 上插入触发器之前。如果不允许某些数据 (ID),则会引发应用程序错误。
但是,例如,当我使用insert into table1 select id from table2 where id in (1,2,3) 时,如果只允许 ID '3',其他 ID(1 和 2)也不会插入。
我该如何克服这个问题?触发代码类似:
CREATE OR REPLACE TRIGGER t1_before_insert BEFORE INSERT
ON table1
FOR EACH ROW
DECLARE
xx number(20);
BEGIN
select id into xx from blocked_id where id=:new.id;
if :new.id=xx then raise_application_error(-20001, '--');
end if;
END;
【问题讨论】: