急求个存储过程的问题。。。没辙了。。。

zmj122112 2009-06-26 11:34:03
CREATE PROCEDURE db2admin.proc_PointInfoForGIS
(IN proleid DECIMAL,IN pbid DECIMAL,OUT pBname VARCHAR(100),OUT pAdd VARCHAR(100),OUT pIntro VARCHAR(100),OUT pContent VARCHAR(800))
RESULT SETS 2
LANGUAGE SQL
BEGIN
DECLARE v_mid VARCHAR(200);
DECLARE v_pername VARCHAR(200);
DECLARE p VARCHAR(200);
DECLARE c1 CURSOR FOR
select M_ID,PreferencesName from PlaceInfo
where BuildingID=pbid;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET pContent = '';
OPEN c1;
FETCH c1 INTO v_mid,v_pername;
set p='';
select rtrim(cast(statusValue as CHAR(20))) into p from Device_status where M_ID=v_mid fetch first 1 rows only ;
set pContent =pContent || v_pername || ':'||p||'<br/>';
FETCH c1 INTO v_mid,v_pername;

END@
--------------------------------------------
想拼一个循环,把value取出来,拼一个pContent 作为输出,但是结果老是不对,也不知道怎么调试,请教各位一下
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dssbaisj 2009-08-17
  • 打赏
  • 举报
回复
你没有循环啊,并且游标也没有关闭。
mtangshan 2009-06-28
  • 打赏
  • 举报
回复
RESULT SETS 2 ? 你打开的cursor只有c1
Mr_Bean 2009-06-27
  • 打赏
  • 举报
回复
没看到循环在哪里
结果不对在什么地方?

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧