如何在oracle中使用而不是触发器?

时间:2013-08-21 03:53:12

标签: oracle triggers

create or replace trigger beforeInsert
instead of insert on Friends
for each row



begin
dbms_output.put_line('This operation is prohibited');
end beforeInsert;

我正在尝试创建一个触发器,它会显示一条消息'此操作被禁止',而不是插入到表中,但会出现编译错误。 Oracle IDE要求我在之前指定。怎么了?我知道instead of用于视图,但是如何禁止使用触发器插入表?

1 个答案:

答案 0 :(得分:3)

INSTEAD OF触发器只能在视图上创建。

对于表格,您可以创建BEFOREAFTER个触发器。实际上,您可以根据需要在表格上创建四种不同类型的触发器:

BEFORE STATEMENT
  BEFORE ROW
  AFTER ROW
AFTER STATEMENT

至于您的要求,如果您想禁止插入表格,请不要使用触发器。取而代之的是撤消用户的INSERT权限。