【发布时间】:2013-08-21 12:18:13
【问题描述】:
create or replace trigger beforeInsert
instead of insert on Friends
for each row
begin
dbms_output.put_line('This operation is prohibited');
end beforeInsert;
我正在尝试创建一个触发器,该触发器会显示消息“禁止此操作”而不是插入到 table 中,但会出现编译错误。 Oracle IDE 要求我指定之前或之后。怎么了?我知道instead of 用于视图,但是如何禁止使用触发器插入表?
【问题讨论】:
-
您要引发异常吗?在触发器中执行诸如 call
dbms_output.put_line之类的操作是没有意义的,因为您无法知道调用者是否甚至分配了一个缓冲区来将输出写入其中,或者调用者是否会显示您的消息。允许INSERT语句看起来对调用应用程序成功但实际上没有做任何事情是没有意义的。