我正在尝试在db2中创建一个存储过程,如下所示:
$sql
但它会抛出错误,如下所示,
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;
在Data Studio中,它开始显示“P1:BEGIN”行本身的错误。 必须在IBM Data Studio 4.1中创建此过程 任何人都可以检查我是否遗漏了这个
答案 0 :(得分:0)
您在data studio中遇到错误的原因 P1:BEGIN是您可能尝试从SQL编辑器创建SP 而不是从常规编辑器创建它。
这是你应该做的: - 1.从Data Source Explorer,连接到您的数据库。 2.从Data Project Explorer中,使用从DSE连接的连接创建一个新的数据开发项目。 3.现在在您的项目下,右键单击存储过程,然后单击“新建” 使用任何模板或只是默认,然后你会看到一个新的Routine编辑器打开。 我测试了这个简单的代码: - CREATE PROCEDURE db2inst1.TEST_PROC1(IN ID INT) 动态结果集1 P1:开始 - 声明光标 DECLARE cursor1 CURSOR WITH RETURN FOR 选择名称 来自SYSIBM.SYSTABLES; - 光标保持打开状态以供客户端应用 OPEN cursor1; 结束P1
注意: - 你不需要;在P1结束时。
现在,通过单击常规编辑器右上角的“保存”按钮旁边的“部署”图标,将其部署到SP到db2。
我希望这会有所帮助。
谢谢, Chuckz。