【发布时间】:2011-11-08 14:32:11
【问题描述】:
以下 SQL 在 Oracle 9i 服务器上执行时会产生错误“ORA-04098: trigger 'DBO.WTF_TRIGGER' is invalid and failed re-validation”。
DROP TABLE "DBO".WTF;
CREATE TABLE "DBO".WTF
(id NUMBER PRIMARY KEY,
name VARCHAR2(30));
CREATE SEQUENCE "DBO".WTF_sequence
START WITH 1
INCREMENT BY 1;
CREATE OR REPLACE TRIGGER "DBO".WTF_trigger
BEFORE INSERT
ON "DBO".WTF
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT "DBO".WTF_sequence.nextval INTO :NEW.id FROM dual;
END;
INSERT INTO "DBO".WTF (name) VALUES ('asd');
有什么想法吗?
【问题讨论】:
-
如果你运行 sql*plus 命令 SHOW ERRORS 它会告诉你什么语法错误或其他问题阻止你的触发器编译。
标签: sql oracle oracle9i auto-increment