【问题标题】:Not able to create stored procedure in DB2无法在 DB2 中创建存储过程
【发布时间】:2019-03-03 03:04:30
【问题描述】:

我正在尝试使用 IBM DB2 Cloud 在 DB2 中创建一个存储过程。我收到的错误是:

在“”之后发现了一个意外的标记“END-OF-STATEMENT”。

有关错误的详细信息请参见下面的屏幕截图。

Click here for error screenshot

CREATE PROCEDURE trial_pro(in msg varchar(100))
language sql;
BEGIN
    insert into collision values(msg);;
END

【问题讨论】:

    标签: stored-procedures db2


    【解决方案1】:

    首先:

    • 那里有“;”后面的语言sql是错误的。
    • 两个“;”在带有插入的行之后没有意义并且与屏幕截图不匹配。

    除此之外:虽然“;”是存储过程中的语句终止符,请确保为(外部)创建过程语句选择(配置)另一个。通常,您运行 SQL 的工具会提供更改它的选项。

    【讨论】:

      【解决方案2】:

      如果您使用复合语句,则必须更改默认语句终止符 (;)。
      在 DSM 控制台中,您可以临时为某些特定语句执行此操作:

      --#SET TERMINATOR @
      CREATE PROCEDURE trial_pro(in msg varchar(100))
      language sql
      BEGIN
          insert into collision values(msg);
      END@
      --#SET TERMINATOR ;
      

      或默认设置为:

      Editor options(右上角的齿轮图标)-> 声明 终结者 -> @

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-20
        • 1970-01-01
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2020-04-23
        • 1970-01-01
        相关资源
        最近更新 更多