代码之家  ›  专栏  ›  技术社区  ›  Matt

Oracle脚本问题-创建触发器未终止

  •  3
  • Matt  · 技术社区  · 14 年前

    我正在尝试对oracle数据库进行一些更改,并为此编写了一个脚本。问题是,当它到达脚本中我正在创建触发器的某个点时,Create trigger块似乎没有正确终止,当我随后查看触发器时,它包含脚本中所有剩余的代码。

    这就是我所拥有的:

    CREATE OR REPLACE TRIGGER user_publish_log_trg
      BEFORE INSERT ON USER_PUBLISH_LOG
      FOR EACH ROW
        BEGIN
        SELECT user_publish_log_seq.NEXTVAL INTO :NEW.Id FROM dual;
        END user_publish_log_trg;
    
    CREATE TABLE USER_APPROVAL_LOG
    (
        Id number(10) NOT NULL ,
        CommodityId number(10) NOT NULL,
        QuarterEndDate DATE NOT NULL,
        ActionId int NOT NULL ,
    ...
    

    我扣动扳机有什么错?

    1 回复  |  直到 14 年前
        1
  •  13
  •   Tony Andrews    14 年前

    您需要在新行上使用斜杠终止PL/SQL,如下所示:

    CREATE OR REPLACE TRIGGER user_publish_log_trg
      BEFORE INSERT ON USER_PUBLISH_LOG
      FOR EACH ROW
        BEGIN
        SELECT user_publish_log_seq.NEXTVAL INTO :NEW.Id FROM dual;
        END user_publish_log_trg;
    /
    
    CREATE TABLE USER_APPROVAL_LOG
    (
        Id number(10) NOT NULL ,
        CommodityId number(10) NOT NULL,
        QuarterEndDate DATE NOT NULL,
        ActionId int NOT NULL ,
    ...