我有以下信息:
The EMP table is as follows:
EMPNO , ENAME, JOB, MGR, HIREDATE, SAL,COMM,DEPTNO
Here is the DEPT table:
DEPTNO, DNAME, LOC
基于以下问题:
创建一个表来记录员工终止。包括empno,emp名称,雇用日期,终止日期以及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后
请让我知道什么是错的。
由于
答案 0 :(得分: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
行
答案 1 :(得分: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;