无法在DB2

时间:2019-03-03 03:04:31

标签: stored-procedures db2

我正在尝试使用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

2 个答案:

答案 0 :(得分:0)

首先:

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

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

答案 1 :(得分:0)

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

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

或通过以下默认设置:

  

Editor options(右上角的齿轮图标)->语句   终止符-> @