请教高手,存储过程中写递归调用!

czjearth 2004-08-30 11:37:19
有这样一个表:
Area(AreaID, ParentID, AreaName)
我现在想要实现输入任何一个AreaID,能返回该AreaId及其下级
所有AreaID的数据集:
例:
AreaID ParentId, AreaName
1 0 A栋
2 0 B栋
11 1 aa栋
12 1 ab栋
21 2 bb栋
31 11 aaa栋
查询传入参数:1
返回数据集
1 0 A栋
11 1 aa栋
12 1 ab栋
31 11 aaa栋
请高手指点,该存储过程怎么写!
谢!
...全文
69 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yellowpage3403 2004-08-31
  • 打赏
  • 举报
回复
才20分呀!
记得给分哟!
yellowpage3403 2004-08-31
  • 打赏
  • 举报
回复
CREATE PROCEDURE GETAREA(
IAREA VARCHAR(10)
)
RETURNS
(
AreaID VARCHAR(10),
ParentId VARCHAR(10),
AreaName VARCHAR(20)
)
AS
DECLARE VARIABLE SUBAREAID VARCHAR(10);
BEGIN
SELECT AREAID,PARENTID,AREANAME FROM AREA WHERE AREAID=:IAREA
INTO :AREAID,:PARENTID,:AREANAME;
SUSPEND;
FOR SELECT DISTINCT AREAID FROM AREA WHERE PARENTID=:AREAID INTO :SUBAREAID DO
BEGIN
FOR SELECT * FROM GETAREA(:SUBAREAID) INTO :AREAID,:PARENTID,:AREANAME DO
SUSPEND;
END
END


//==========================================
SELECT * FROM GETAREA('1') ORDER BY AREAID
czjearth 2004-08-31
  • 打赏
  • 举报
回复
100分够不够, 不够你说话!
czjearth 2004-08-31
  • 打赏
  • 举报
回复
谢谢!我想多给点分,请问怎么给啊

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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