全部, 我只是试图创建一个触发器,将从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