我正在做一个如下所示的任务。Oracle触发器创建问题
在STAFF表上创建一个名为STAFF_TRIGGER的PL/SQL触发器。这个 触发器将在每次插入或更新后执行。 a.For插入, 这个触发器应该把新STAFF.STAFF_ID值,在 MOD_USER用户,并在MOD_TIMESTAMP系统日期记录在创建数据到STAFF_LOG的 。 B.FOR更新,该触发器应该把 以前的STAFF值转换成相应的STAFF_LOG列 以及记录MOD_USER和MOD_TIMESTAMP。
到目前为止,这是我所拥有的,我使用的是Oracle数据库快速版。
create trigger staff_trigger
after insert or update on staff
for each row
begin
if inserting then
insert into staff_log (staff_id, mod_user, mod_timestamp)
values(new.employee_id, new.last_name, sysdate);
end if;
if updating then
insert into staff_log (mod_user, mod_timestamp)
values(new.last_name, sysdate);
end if;
end;
当我执行的代码我得到下面的错误。
ERROR at line 9: PL/SQL: SQL Statement ignored7. if inserting then
8. insert into staff_log (staff_id, mod_user, mod_timestamp)
9. values(new.employee_id, new.last_name, sysdate);
10. end if;
任何想法可能是什么原因?
提示:当您在您的文章把代码,选择代码,然后单击看起来像'{}'按钮。这将格式化代码并使其更易于阅读。 –