1

2 つのテーブルがあるEMPLOYEEとしEMP_BAKます。ロールバックされたものであっても、従業員から削除されたすべてのデータのバックアップ テーブルを作成する必要があります

私のトリガー:

CREATE OR REPLACE TRIGGER emp_del_bak_trg
before delete ON employee 
FOR EACH row 
DECLARE 
oldname department.department_name%type;
newname department.department_name%type;
BEGIN
INSERT INTO emp_bak 
VALUES (:OLD.employee_id, :OLD.employee_name, :OLD.job
       ,:OLD.hire_date,:OLD.department_id, sysdate);
--commit;
end;

ここで、ロールバックすると、データが削除されます。コメントアウトを外すとcommit、削除時にエラーが発生します。アイデアは、記録を保持し、システムの更新を追跡することです。

これを回避する方法はありますか?

4

1 に答える 1