Stored procedures 无法使用存储过程DB2从数据库表中使用游标检索多行
我试图使用存储过程从表中检索多行,但它对我不起作用。我的存储过程如下所示Stored procedures 无法使用存储过程DB2从数据库表中使用游标检索多行,stored-procedures,db2,mule,Stored Procedures,Db2,Mule,我试图使用存储过程从表中检索多行,但它对我不起作用。我的存储过程如下所示 CREATE OR REPLACE PROCEDURE E_Enquiry (IN SourceQueue1 VARCHAR(30) ) LANGUAGE SQL BEGIN DECLARE C1 CURSOR FOR select CreationTime from ms.Exception_Message where SourceQueue =
CREATE OR REPLACE PROCEDURE E_Enquiry
(IN SourceQueue1 VARCHAR(30) ) LANGUAGE SQL
BEGIN
DECLARE C1 CURSOR FOR
select CreationTime
from ms.Exception_Message
where SourceQueue = SourceQueue1;
open c1;
END;
我试图使用数据库连接器从Mule Anypoint Studio调用存储过程,并且在使用记录器打印有效负载时看到结果为null。如果我试图在查询返回一行时修改它,它就会工作(不使用游标)
请帮助解决此问题。谢谢。什么平台和版本的DB2 尝试添加
- 动态结果集1
- 返回给客户
CREATE OR REPLACE PROCEDURE E_Enquiry
(IN SourceQueue1 VARCHAR(30) )
LANGUAGE SQL
DYNAMIC RESULT SETS 1
BEGIN
DECLARE C1 CURSOR WITH RETURN TO CLIENT FOR
select CreationTime
from ms.Exception_Message
where SourceQueue = SourceQueue1;
open c1;
END;
DB2的平台和版本是什么 尝试添加
- 动态结果集1
- 返回给客户
CREATE OR REPLACE PROCEDURE E_Enquiry
(IN SourceQueue1 VARCHAR(30) )
LANGUAGE SQL
DYNAMIC RESULT SETS 1
BEGIN
DECLARE C1 CURSOR WITH RETURN TO CLIENT FOR
select CreationTime
from ms.Exception_Message
where SourceQueue = SourceQueue1;
open c1;
END;
@发条系统Muse,声明和打开游标通常是从存储过程返回结果集的方式。我知道你知道这一点,所以你的评论把我弄糊涂了。@Charles-事实上,我没有。谢谢你教我!我想我对函数和命令式语言有点太习惯了-我觉得我以前看到的示例都是显式返回游标类型。@Clockwork Muse,声明和打开游标通常是从存储过程返回结果集的方式。我知道你知道这一点,所以你的评论把我弄糊涂了。@Charles-事实上,我没有。谢谢你教我!我想我有点太习惯函数和命令式语言了——我觉得我以前看到的例子都是显式返回游标类型。