設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 3027|回復(fù): 0
打印 上一主題 下一主題

[分享]在SQL Server中返回分類的子類列表

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2005-1-3 02:48:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*創(chuàng)建臨時測試用表*/

create table tblClassTest

(

class_code char (20)

, class_name varchar(50)

, class_code_parent char(20)

)

insert into tblClassTest (class_code,class_name,class_code_parent)

select '01','原材料',null

union all select '0101','高壓聚乙烯','01'

union all select '0102','低壓聚乙烯','01'

union all select '0103','線性聚乙烯','01'

union all select '0104','色母料','01'

union all select '0106','其他原材料','01'

union all select '0105','回收原料','0106'

union all select '0109','回收高壓聚乙烯','0105'

union all select '0107','丁烷氣','0106'

union all select '0108','氮氣','01'

go

/*

fun_getClassCodeListWithChild

返回分類的子類列表

最后更新:2005/01/02 goodidea (myad@yeah.net)

@intOption = 1  返回其子類

@intOption = 2  返回該類

@intOption = 3  返回該類及其子類

*/

create function fun_getClassCodeListWithChildren (

@ItemClass char(20)

,@intOption smallint = 2

) returns @tblItemClass table (

class_code char (20)

, class_name varchar(50)

, class_code_parent varchar(50)

)

as

begin

insert into @tblItemClass

select class_code, class_name,class_code_parent from tblClassTest

where class_code = @ItemClass

while @@rowcount >0 and (@intOption & 1 = 1)

begin

insert into @tblItemClass

select class_code, class_name,class_code_parent from tblClassTest

where class_code_parent in (select class_code from @tblItemClass )

and  class_code not in (select class_code from @tblItemClass )

end

if (@intOption & 2 <> 2) delete @tblItemClass where class_code = @ItemClass

return

end



go

/*顯示測試結(jié)果*/

select * from fun_getClassCodeListWithChildren('01', default)

select * from fun_getClassCodeListWithChildren('01', 1)

select * from fun_getClassCodeListWithChildren('01', 3)

/*刪除測試表和函數(shù)*/

drop function fun_getClassCodeListWithChildren

drop table tblClassTest
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 07:55 , Processed in 0.084547 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表