创建简单的DB2 sql过程时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建简单的DB2 sql过程时出错相关的知识,希望对你有一定的参考价值。

我正在尝试在DB2 z / OS 10.1.5上创建db2过程。我使用的代码是:

CREATE PROCEDURE WSDIWW16.CALCULATE_SALARY()
LANGUAGE SQL
BEGIN ATOMIC
update wsdiww16.emptable
set dailywage = dailywage * 30;
END;

我得到sqlcode - 104

SQL0104N  An unexpected token "<END-OF-STATEMENT>" was found following "". 
Expected tokens may include:  "DECLARE".

我之前没有创建过sql过程。有人可以帮忙吗?

答案

你在CREATE语句中有两个分号。第一个需要是一个被识别为语句终止符的不同字符。

您使用的是什么开发环境?在Rational Developer for z中,您可以右键单击编辑器并选择Set Statement Terminator选项:

RDz 1

Data Studio等应提供类似的选项。

另一答案

您应该使用结束行终止符,例如'/',并使用以下命令执行您的查询 -

db2 + c -td / -vf SQL_file_name

HTH

另一答案

图形菜单的答案对我有用。从我的SQL脚本中,我在空白区域的任何地方右键单击。然后出现上面的菜单。然后我左键单击“Set Statement Terminator”(根据要求)。然后我将终结器字符改为“#”(没有引号)。之后是分号字符“;”再次开始工作。

我希望这有帮助。

另一答案

我相信你需要用'/'来结束你的程序。

以上是关于创建简单的DB2 sql过程时出错的主要内容,如果未能解决你的问题,请参考以下文章

尝试启动 DB2 实例时出错。返回代码为2 , SQL消息 为: PROCESS_ERROR

尝试使用 Python 连接 DB2 上的表时出错 (SQL0332N)

怎样办理DB2中呈现的SQL1032N错误现象

在 db2 中创建过程时出错

Python中执行sql脚本时GO语句出错问题

在 DB2 中使用 MERGE 命令时出错