您的位置:程序门 -> db2 -> 数据库开发



db2存储过程中如何使用递归sql? 


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


db2存储过程中如何使用递归sql?
发表于:2007-09-11 13:47:01 楼主
我是要解决这样的问题:递归找出所有的留言和回复,然后删除。所以要在存储过程里用到递归sql.
我在db2存储过程中使用递归sql,报错:系统里没有temptable表,请问怎么解决?
存储过程如下:
create   procedure   testcc(out   idparam   integer)
result   sets   0
reads   sql   data
language   sql  
begin  
set   idparam=0;
with   temptable(id,name,parentid)   as

select   root.id,root.name,root.parentid
from   userview   root
where   id=101
union   all
select   super.id,super.name,super.parentid
from   userview   super,temptable   sub
where   super.id=sub.parentid
)
select   id   from   temptable;  

select   count(*)   into   idparam  
from   temptable;  

end@

错误信息:
db21034e   该命令被当作   sql
语句来处理,因为它不是有效的“命令行处理器”命令。在   sql   处理期间,它返回:
sql0104n   在   "gin   set   idparam=0;   "   之后发现意外的标记
"with"。期望的标记可能包括:" <psm_while> "。   line   number=7.   sqlstate=42601


快速检索

最新资讯
热门点击