在 db2 中创建过程时出错

Posted

技术标签:

【中文标题】在 db2 中创建过程时出错【英文标题】:Error while creating procedure in db2 【发布时间】:2015-02-27 13:26:46 【问题描述】:

错误是 - 预期的标记可能包括:psm_semicolon.. SQLCODE=-104

帮帮我....

CREATE PROCEDURE update_new()
LANGUAGE SQL
BEGIN
CREATE TABLE TEMP(METADATA_KEY varchar(40),NEW_METADATA_KEY varchar(40));
END;

【问题讨论】:

【参考方案1】:

在您使用的任何工具中,将语句终止符更改为分号以外的内容,并将该终止符放在CREATE PROCEDURE 语句的末尾。

例如,如果使用命令行处理器,将其保存到文件中(注意末尾的“@”符号:

CREATE PROCEDURE update_new()
LANGUAGE SQL
BEGIN
 CREATE TABLE TEMP(METADATA_KEY varchar(40),NEW_METADATA_KEY varchar(40));
END@

然后执行文件:db2 -td@ -f myproc.sql

这样做的原因是分号总是被用作过程代码的终止符,因此您必须使用其他东西来终止CREATE PROCEDURE 语句。

【讨论】:

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

在 phpmyadmin 中创建过程时出错

在 MySQL/MariaDB 中创建存储过程时出错

修复在 WiX 3.8 中创建的设置时出错

在实体框架 EDMX 中创建视图之间的关联时出错

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

在mysql集群中创建表时出错