创建简单的 DB2 sql 过程时出错
Posted
技术标签:
【中文标题】创建简单的 DB2 sql 过程时出错【英文标题】:Error while creating a simple DB2 sql procedure 【发布时间】:2016-04-09 17:43:40 【问题描述】:我正在尝试在 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 过程。有人可以帮忙吗?
【问题讨论】:
db2 stored procedures creation behavior的可能重复 这不适用于 db2 zOs 查看www-01.ibm.com/support/docview.wss?uid=swg21568227 【参考方案1】:CREATE 语句中有两个分号。第一个字符必须是被识别为语句终止符的不同字符。
您使用的是什么开发环境?在 Rational Developer for z 中,您可以右键单击编辑器并选择 Set Statement Terminator 选项:
1
Data Studio 等中应该有类似的选项。
【讨论】:
【参考方案2】:您应该使用结束行终止符,例如“/”并使用以下命令执行您的查询 -
db2 +c -td/ -vf SQL_file_name
HTH
【讨论】:
【参考方案3】:图形菜单的答案对我有用。在我的 SQL 脚本中,我在空白处的任意位置单击鼠标右键。上面的菜单随即出现。然后我左键单击“设置语句终止符”(按要求)。然后我将终止符更改为“#”(无引号)。之后是分号字符“;”又开始工作了。
我希望这会有所帮助。
【讨论】:
【参考方案4】:我认为您需要以“/”结束您的程序。
【讨论】:
以上是关于创建简单的 DB2 sql 过程时出错的主要内容,如果未能解决你的问题,请参考以下文章
尝试启动 DB2 实例时出错。返回代码为2 , SQL消息 为: PROCESS_ERROR