PL/SQL:What is ERROR:ORA-04082:表级触发器中不允许新引用或旧引用
您好,我在执行pl/sql触发器时遇到一些问题。我想做一个触发,做一个“历史”。我创建一个表,用以下代码记录触发器的sout:PL/SQL:What is ERROR:ORA-04082:表级触发器中不允许新引用或旧引用,sql,plsql,Sql,Plsql,您好,我在执行pl/sql触发器时遇到一些问题。我想做一个触发,做一个“历史”。我创建一个表,用以下代码记录触发器的sout: create table control( camp1 varchar2(255) ); 虽然还没有成功,但我们已经很接近了。 现在,在user:7623856的帮助下,当我执行时,这就是显示的内容 我在SQL Developer和oracle 11中工作 这是新代码 create or replace trigger t_auditar_alta_empleat
create table control(
camp1 varchar2(255)
);
虽然还没有成功,但我们已经很接近了。
现在,在user:7623856的帮助下,当我执行时,这就是显示的内容
我在SQL Developer和oracle 11中工作
这是新代码
create or replace trigger t_auditar_alta_empleat
after insert on empleats
for each row
begin
if :new.codi_dept is null then
insert into control values('Alta empleat amb codi' || :new.codi_emp);
else
insert into control values('Alta empleat amb codi' || :new.codi_emp || 'amb el codi de departament '|| new:codi_dept);
end if;
end;
并出现新的错误
*行/列错误
5/3 PL/SQL:忽略SQL语句
5/109 PLS-00049:坏绑定变量“CODI_DEPT”
5/109 PL/SQL:ORA-00917:缺少逗号
错误:Compobar log de compilador*您的代码几乎没有问题,但根据定义,您当前有一个语句级触发器,但需要一个行级触发器。看
您的触发器几乎没有了,但按照定义,您当前有一个语句级触发器,但您需要一个行级触发器。看
谢谢你的帮助,但是现在还有一个问题,那就是语法错误。在第二处插入“new:codi_dept”应该是:new.codi_dept“谢谢您的帮助,但是现在还有另一个问题,那只是语法错误。在第二处插入“新:密码部门”应为:新。密码部门
create or replace trigger t_auditar_alta_empleat
after insert on empleats
for each row -- added
begin
if :new.codi_dept is null then
insert into control values('Alta empleat amb codi' || :new.codi_emp);
else
insert into control values('Alta empleat amb codi' || :new.codi_emp || 'amb el codi de departament '|| new:codi_dept);
end if;
end;