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
用于视图,但是如何禁止使用触发器插入表?
答案 0 :(得分:3)
INSTEAD OF
触发器只能在视图上创建。
对于表格,您可以创建BEFORE
或AFTER
个触发器。实际上,您可以根据需要在表格上创建四种不同类型的触发器:
BEFORE STATEMENT
BEFORE ROW
AFTER ROW
AFTER STATEMENT
至于您的要求,如果您想禁止插入表格,请不要使用触发器。取而代之的是撤消用户的INSERT权限。