当前位置: 首页 > 知识库问答 >
问题:

DB2存储过程格式

阎烨
2023-03-14

我正在使用 db2 和 S 松鼠 SQL

我试图创建一个存储过程,其中包含一个简单的select语句。当我省略下面的select语句并运行代码时,过程就创建好了。这个过程也可以被删除和调用。

    CREATE PROCEDURE test_procedure
    LANGUAGE SQL
    BEGIN

    END

当我添加select语句时,我得到错误:DB2 SQL错误:SQLCODE=-102,SQLSTATE=42601,...

    CREATE PROCEDURE test_procedure
    LANGUAGE SQL
    BEGIN
        SELECT column_name FROM table_name
    END

如果你去IBM iseries信息中心,它会说:

SQL0104 SQLCODE-104 SQLSTATE 42601

说明:令牌

共有2个答案

陆斌
2023-03-14

SQuirreL 中的语句终止符称为“语句分隔符”,它可以在以下位置定义:

菜单会话

这在版本3.5.3中有效

巫马越彬
2023-03-14

似乎我没有获得执行存储过程的正确权限。SQL0551N此链接解释了有关该问题的更多信息。

 类似资料:
  • 我试图使用RazorSQL客户端在DB2数据库中创建一个存储过程,但遇到了以下错误: 块引用错误:字符、标记或子句无效或丢失。DB2SQL错误:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=SELECT 存储过程代码为:

  • 如果你有什么建议,我很想听听! 谢谢:)

  • 我正在为db2创建一个存储过程。但是它给出了一个错误 SQL错误[42601]:在“SS_token_BAK”之后发现意外的标记“END-OF-STATEMENT”。预期的标记可能包括:“END IF”。.SQLCODE=-104,SQLSTATE=42601,DRIVER=4.23.42。 以下是我的存储过程。 是否有人面临此类问题。任何这方面的帮助将不胜感激。

  • 我尝试使用 DB2 存储过程更改表。以下是我的代码。我在更改查询中发现了问题。但是同样的查询在 DB2 命令行编辑器中完美地执行了。我想使用存储过程运行相同的查询。请帮帮我。 错误:在“NTITY(以 69 开头)”之后发现意外的标记“语句结尾”。预期的令牌可能包括:“)”...SQLCODE=-104,SQL 状态=42601,驱动程序=3.58.81

  • 数据访问层支持存储过程调用,调用数据库存储过程使用下面的方法: $resultSet = Db::query('call procedure_name'); foreach ($resultSet as $result) { } 存储过程返回的是一个数据集,如果你的存储过程不需要返回任何的数据,那么也可以使用execute方法: Db::execute('call procedure_name'

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’