我正在做一個如下所示的任務。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;
任何想法可能是什麼原因?
提示:當您在您的文章把代碼,選擇代碼,然後單擊看起來像'{}'按鈕。這將格式化代碼並使其更易於閱讀。 –