全部, 我只是試圖創建一個觸發器,將從TABLE EMP中選擇一個完整的記錄,並將其插入TABLE EMP_ARCHIVE上的UPDATE嘗試(顧名思義,EMP_ARCHIVE表只是一個歷史記錄表來存儲郵件EMP表中所做的更改)。兩個表都有相同的字段/列。以下是我嘗試創建的觸發器。我知道有什麼不對,但無法弄清楚。它拋出錯誤的「(」以下INSERT命令任何幫助,將不勝感激 原諒我,如果有一些根本性的錯誤,因爲我是一個新手,這些ORACLE觸發器INSERT更新
CREATE OR REPLACE TRIGGER Save_EMP_Changes
BEFORE UPDATE ON EMP
FOR EACH ROW
BEGIN
INSERT INTO EMP_ARCHIVE
(
emp_id, emp_name,
emp_age, emp_sex,
emp_active
)
SELECT
:old.emp_id, :old.emp_name,
:old.emp_age, :old.emp_sex,
:old.emp_active
FROM EMP
WHERE emp_id = :old.emp_id
END;
您的語法錯誤是Select需要圍繞它的括號。雖然,a_horse_with_no_name提供了正確的答案。你根本不需要SELECT。 – Mikezx6r 2011-03-02 19:54:01
包含實際的錯誤消息(ORA-xxxxx錯誤號和錯誤文本)通常會有所幫助。有時候錯誤會跳出來,但沒有其他時間,錯誤是非常有用的信息。 – 2011-03-02 19:54:26