0

我有以下信息:

The EMP table is as follows:

EMPNO , ENAME, JOB, MGR, HIREDATE, SAL,COMM,DEPTNO


Here is the DEPT table:

DEPTNO, DNAME, LOC

基于以下问题:

创建一个表来记录员工离职。包括 empno、emp name、雇用日期、终止日期以及终止员工的 oracle 用户的名称。

我在 Oracle 11g、SQL Plus 中创建了下表,如下所示:

CREATE TABLE employee_terminations_log(
       empno   number(4),
       emp_name char(8),
       datehired date,
       dateterminated date,
       dbuser char(8) );

现在,基于以下问题:

在emp表上创建一个触发器,将相关信息插入到员工离职日志中。每次删除员工时都必须执行触发器。

我为触发器编写了如下代码:

create or replace trigger emp_termination_trigger
after delete of empno on emp
for each row
begin
      insert into employee_termination-log
      values(:old.empno,:old.emp_name,:old.hiredate,sysdate,user);
end;

但我收到以下错误:

8  /
after delete of empno on emp
             *
ERROR at line 2:
ORA-04073: column list not valid for this trigger type

谁能告诉我上面的触发器代码有什么问题?基本上我必须删除整个员工行,为此我在上面的代码中使用了以下语句。

删除 emp 上的 empno 后

请让我知道出了什么问题。

谢谢

4

2 回答 2

0

试试这个

create or replace trigger emp_termination_trigger
after delete on emp
for each row
begin
      insert into employee_termination_log
      values(:old.empno,:old.emp_name,:old.hiredate,sysdate,user);
end;

insert into您的行也有拼写错误

于 2013-05-08T01:10:58.947 回答
0

看起来像另一个错字,应该是employee_terminations_log:

create or replace trigger emp_termination_trigger
after delete on emp
for each row
begin
      insert into employee_terminations_log
      values(:old.empno,:old.emp_name,:old.hiredate,sysdate,user);
end;
于 2013-05-08T01:38:50.660 回答