错误:ORA-00969:缺少 ON 关键字 - Oracle

Posted

技术标签:

【中文标题】错误:ORA-00969:缺少 ON 关键字 - Oracle【英文标题】:Error: ORA-00969: missing ON keyword - Oracle 【发布时间】:2014-04-15 09:19:45 【问题描述】:

我正在使用 Oracle 11g XE 数据库和 Oracle SQL developer 来执行 SQL 语句。 我有这个 SQL 语句,它在执行时给了我上面的编译器错误。

CREATE OR REPLACE
TRIGGER "STD"."TRG_STUDENT"
BEFORE INSERT,DELETE
ON STUDENT
FOR EACH ROW
BEGIN
  IF INSERTING THEN
    DBMS_OUTPUT.PUT_LINE('Inserting !!');
  END IF;
  IF DELETING THEN
    DBMS_OUTPUT.PUT_LINE('Deleting !!');
  END IF;
END;

我尝试了一些变化,但我曾经得到其他错误。 我将ON STUDENT 放在BEFORE INSERT,DELETE 行之前,我得到了这个错误:

Error: ORA-04071: missing BEFORE, AFTER or INSTEAD OF keyword

我在这里错过了什么?

【问题讨论】:

【参考方案1】:
BEFORE INSERT OR DELETE

有关创建触发器语法的更多信息:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7004.htm

【讨论】:

它遵守了。谢谢你:)【参考方案2】:

使用BEFORE INSERT OR DELETE 而不是BEFORE INSERT, DELETE。有关详细信息,请参阅coding trigger。

【讨论】:

我怎么会错过呢?谢谢你:)

以上是关于错误:ORA-00969:缺少 ON 关键字 - Oracle的主要内容,如果未能解决你的问题,请参考以下文章

SQL 错误:缺少关键字?

ORA_00905:缺失关键字

错误:缺少表“用户”的 FROM- 子句条目

ORA-00905: 缺少关键字错误 oracle

左连接 缺少表达式。 (位置 25 附近的“ON”)

甲骨文。使用 case 语句时缺少关键字。错误 00905