把Excel通過(guò)sqlserver導(dǎo)入到數(shù)據(jù)庫(kù)中,會(huì)形成一張表,默認(rèn)你現(xiàn)在Excel存儲(chǔ)就是以樹型存儲(chǔ),只需用sqlserver查詢顯示出效果。
10年積累的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有鄢陵免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
這是我以前回答的問(wèn)題,可解決!
參考:
這個(gè)很好實(shí)現(xiàn)!就是添加和修改操作:
增加節(jié)點(diǎn):首先要獲?。ㄔ谛薷捻?yè)面)或指定(在sql語(yǔ)句中)parentid的值,然后插入數(shù)據(jù)就可以?。?/p>
修改節(jié)點(diǎn):可以根據(jù)menuid,修改節(jié)點(diǎn)的menuName或者parentid或者是同時(shí)修改它們倆。
有問(wèn)題請(qǐng)留言!
可以按如下方法查看:
1、用指定用戶登錄pl/sql。
2、登錄后,看左邊的樹。
3、找到tables,然后點(diǎn)擊。其中紅框部分即為表的界面。
4、找到views,然后點(diǎn)擊。其中紅框部分即為視圖的界面。
/*
轉(zhuǎn)一個(gè)鄒老大的例子
*/
--測(cè)試數(shù)據(jù)
DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10))
INSERT @t SELECT '001',NULL ,'山東省'
UNION ALL SELECT '002','001','煙臺(tái)市'
UNION ALL SELECT '003','001','青島市'
UNION ALL SELECT '004','002','招遠(yuǎn)市'
UNION ALL SELECT '005',NULL ,'四會(huì)市'
UNION ALL SELECT '006','005','清遠(yuǎn)市'
UNION ALL SELECT '007','006','小分市'
--深度排序顯示處理
--生成每個(gè)節(jié)點(diǎn)的編碼累計(jì)(相同當(dāng)單編號(hào)法的編碼)
DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT ID,@Level,ID
FROM @t
WHERE PID IS NULL
WHILE @@ROWCOUNT0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID
FROM @t a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
--顯示結(jié)果
SELECT a.*
FROM @t a,@t_Level b
WHERE a.ID=b.ID
ORDER BY b.Sort
/*--結(jié)果
sqlserver查詢樹形結(jié)構(gòu)的所有子節(jié)點(diǎn)
用標(biāo)準(zhǔn)sql的with實(shí)現(xiàn)遞歸查詢(sql2005以上肯定支持,sql2000不清楚是否支持):
with subqry(id,name,pid) as (
select id,name,pid from test1 where id = 5
union all
select test1.id,test1.name,test1.pid from test1,subqry
where test1.pid = subqry.id
)
select * from subqry;
看看數(shù)據(jù)表結(jié)構(gòu)
表:Tree
current_id int (當(dāng)前節(jié)點(diǎn)編號(hào))
father_id int (父節(jié)點(diǎn)編號(hào),如果是根節(jié)點(diǎn),-1)
left_id int (左節(jié)點(diǎn)編號(hào))
right_id int (右節(jié)點(diǎn)編號(hào))
表:Node
Node_id int PK
Node_vaule nvarchar(100)
說(shuō)明:Tree表是用來(lái)存儲(chǔ)樹型結(jié)構(gòu)的,Node表是用來(lái)存儲(chǔ)節(jié)點(diǎn)內(nèi)容的
其中Tree表的current_id與Node表的Node_id是一一對(duì)應(yīng)的
至于遍歷的存儲(chǔ)過(guò)程是要完成什么功能呢?