Stored procedures 在DB2中创建存储过程
我试图在db2中创建一个存储过程,如下所示:Stored procedures 在DB2中创建存储过程,stored-procedures,db2,Stored Procedures,Db2,我试图在db2中创建一个存储过程,如下所示: CREATE PROCEDURE MIS.TEST_PROC1 (IN ID INT) DYNAMIC RESULT SETS 1 P1: BEGIN -- Declare cursor DECLARE cursor1 CURSOR WITH RETURN FOR SELECT REM FROM MIS.BOOKING; -- Cursor left open for client application OPEN
CREATE PROCEDURE MIS.TEST_PROC1 (IN ID INT)
DYNAMIC RESULT SETS 1
P1: BEGIN
-- Declare cursor
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT REM
FROM MIS.BOOKING;
-- Cursor left open for client application
OPEN cursor1;
END P1;
但它会抛出如下所示的错误
ILLEGAL SYMBOL "<END-OF-STATEMENT>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.66.46
非法符号“”。某些可能合法的符号为:。SQLCODE=-104,SQLSTATE=42601,DRIVER=3.66.46
在DataStudio中,它从“P1:BEGIN”行本身开始显示错误。
必须在IBM Data Studio 4.1中创建此过程
任何人都可以检查我是否遗漏了这篇文章中的任何内容吗?您在DataStudio第行收到错误的原因
P1:BEGIN
是指您可能正在尝试从SQL编辑器创建SP
而不是从例程编辑器创建它
以下是您应该做的:
CREATE PROCEDURE db2inst1.TEST_PROC1 (IN ID INT)
DYNAMIC RESULT SETS 1
P1: BEGIN
-- Declare cursor
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT NAME
FROM SYSIBM.SYSTABLES;
-- Cursor left open for client application
OPEN cursor1;
END P1
注意:您不需要代码>在P1的末尾
现在,通过单击例程编辑器右上角Save按钮旁边的deploy图标,将其部署到SP到db2。在DataStudio第行中出现错误的原因
P1:BEGIN
是指您可能正在尝试从SQL编辑器创建SP
而不是从例程编辑器创建它
以下是您应该做的:
从数据源资源管理器连接到数据库
从数据项目资源管理器中,使用从DSE连接的连接创建新的数据开发项目
现在在项目下,右键单击存储过程,然后单击新建
使用任何模板或只取默认值,然后您将看到一个新的例程编辑器打开
我测试了这个简单的代码:
CREATE PROCEDURE db2inst1.TEST_PROC1 (IN ID INT)
DYNAMIC RESULT SETS 1
P1: BEGIN
-- Declare cursor
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT NAME
FROM SYSIBM.SYSTABLES;
-- Cursor left open for client application
OPEN cursor1;
END P1
注意:您不需要代码>在P1的末尾
现在,通过单击例程编辑器右上角Save按钮旁边的deploy图标,将其部署到SP到db2。了解平台/版本可能会有所帮助,但我90%确定您根本不需要P1
(或冒号)。它的可能副本可能有助于了解平台/版本,但我90%确定您根本不需要P1
(或冒号)。可能的重复可能有助于了解平台/版本,但我90%确定您根本不需要P1
(或冒号)。可能的重复