我为一个简单的视图创建了一个“而不是”触发器,该视图只对表上的select *和不执行任何操作的触发器(我想最小化问题):
create or replace view tmp(id, nazwa, nip, adres, zalega, punkty) as
select * from klient
create or replace trigger tmp_trg
instead of insert
on tmp
for each row
begin
end;
视图已创建。 然后,当我想要声明此触发器时,sql developer返回错误:
错误(8,1):PLS-00103:当遇到以下情况之一时遇到符号“END”:如果循环mod为空,则返回选择更新,而使用'an identifier''a double-quoted delimited-identifier''一个绑定变量'<< close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe
答案 0 :(得分:5)
只需添加" null;"在开始和结束之间。
答案 1 :(得分:1)
一个什么都不做的触发器(我想尽量减少问题):
我不确定我理解为什么你什么都不做需要触发器?
要回答,您的触发器代码块中没有有效的PL / SQL语句,请添加NULL
以使其成为有效块并且不执行任何操作。
create or replace trigger tmp_trg
instead of insert
on tmp
for each row
begin
NULL;
end;