Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PL/SQL:What is ERROR:ORA-04082:表级触发器中不允许新引用或旧引用_Sql_Plsql - Fatal编程技术网

PL/SQL:What is ERROR:ORA-04082:表级触发器中不允许新引用或旧引用

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

您好,我在执行pl/sql触发器时遇到一些问题。我想做一个触发,做一个“历史”。我创建一个表,用以下代码记录触发器的sout:

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;