首页 > 解决方案 > 触发 Oracle || 插入后将记录备份到另一个表

问题描述

我必须使用触发器将插入的记录备份到另一个表。

我的代码:

CREATE OR REPLACE TRIGGER Zadanie1
BEFORE INSERT ON ZLECENIA
FOR EACH ROW
BEGIN
    dbms_output.put_line('Record inserted to table!')
  INSERT INTO ZLECENIA_BACKUP (ID_ZLECENIA,ID_USLUGI,ID_KLIENTA,ID_PRACOWNIKA,DATA_ZL)
  VALUES (:new.ID_ZLECENIA, :new.ID_USLUGI, :new.ID_KLIENTA, :new.ID_PRACOWNIKA, :NEW.ID_PRACOWNIKA, :NEW.DATA_ZL);
 dbms_output.put_line('Backup created!')
END Zadanie1;

标签: oracletriggers

解决方案


semicolons您在每个语句的末尾都缺少一些,请使用以下代码:

CREATE OR REPLACE TRIGGER ZADANIE1 BEFORE
    INSERT ON ZLECENIA
    FOR EACH ROW
BEGIN
    DBMS_OUTPUT.PUT_LINE('Record inserted to table!');
    INSERT INTO ZLECENIA_BACKUP (
        ID_ZLECENIA,
        ID_USLUGI,
        ID_KLIENTA,
        ID_PRACOWNIKA,
        DATA_ZL
    ) VALUES (
        :NEW.ID_ZLECENIA,
        :NEW.ID_USLUGI,
        :NEW.ID_KLIENTA,
        :NEW.ID_PRACOWNIKA,
        :NEW.ID_PRACOWNIKA,
        :NEW.DATA_ZL
    );
    DBMS_OUTPUT.PUT_LINE('Backup created!');
END;
/

推荐阅读