【问题标题】:Error: ORA-00969: missing ON keyword - Oracle错误:ORA-00969:缺少 ON 关键字 - 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

我在这里错过了什么?

【问题讨论】:

    标签: sql oracle triggers oracle11g


    【解决方案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

    【讨论】:

    • 我怎么会错过呢?谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多