国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

關于sql server下無限多級別分類查詢解決辦法

2024-08-31 00:51:53
字體:
來源:轉載
供稿:網友

在開發中經常會遇到無限級分類的問題,最常見的是一些無限級目錄之類的,如果你對SQL Server還不是太熟悉或者還不太熟悉SQL語言的話,這將是一件很困難的事情,也許你最后能實現類似的功能,不過可能花費的時間很長,效率也不是很理想,下面的示例也許能給你一個啟示。

/***創建表****/
CREATE TABLE [dbo].[Tree] (
    [ID] [int] IDENTITY (1, 1) NOT NULL ,
    [PID] [int] NULL ,
    [Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

/****創建自定義函數****/
CREATE FUNCTION dbo.fGetTreeTable
 (
 @ID int= null
 )
RETURNS @Tab TABLE(ID int, PID int, Name varchar(10), Lev int)--返回結果的表結構
AS
 BEGIN
  Declare @lev int
  Set @lev=0
 
  While @lev=0 or @@ROWCount>0
  Begin
   Set @Lev=@Lev+1
   Insert @Tab(ID, PID, Name, Lev)
   Select ID, PID, Name, @Lev From Tree Where (@Lev=1 and ((PID=@ID) or (@ID is null and PID is null))) or (PID in (Select ID From @Tab Where Lev=@Lev-1))
   order by ID
  End
  RETURN
 END
 直接查詢Select * from dbo.fGetTreeTable(null)就可以輸入所有記錄。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋州市| 获嘉县| 乌拉特前旗| 杭州市| 佛学| 巴彦县| 炉霍县| 南阳市| 宁化县| 墨玉县| 威信县| 民县| 祁阳县| 玛沁县| 兴隆县| 婺源县| 淮阳县| 黄石市| 繁昌县| 隆子县| 大悟县| 呼和浩特市| 土默特左旗| 札达县| 长兴县| 凌云县| 油尖旺区| 崇信县| 无为县| 宝兴县| 裕民县| 伊宁县| 库车县| 梓潼县| 湄潭县| 门源| 西乌珠穆沁旗| 德安县| 博兴县| 通城县| 邛崃市|