日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL Server層次結(jié)構(gòu)的展開模式

以下的文章主要向大家講述的是SQL Server層次結(jié)構(gòu)的展開模式,在實際操作中如果數(shù)據(jù)庫經(jīng)常存儲層次信息的話。如下所示,以下的數(shù)據(jù)是全球一些地區(qū)的層次表示形式。這種表示形式并未清楚地顯示出數(shù)據(jù)中隱含的結(jié)構(gòu)。

 
 
 
  1. Parent Child -------------- -----------------   
  2. World Europe World North America Europe France France Paris   
  3. North America United States North America Canada United States New   
  4. York United States Washington New York New York City Washington Redmond  

而下面的示例則更容易解釋:

 
 
 
  1. World North America Canada United States Washington Redmond New York New York City Europe France Paris 

下面的 Transact-SQL 過程將一個編碼的層次展開到任意深度。盡管 Transact-SQL 支持遞歸,但是使用臨時表作為堆棧來跟蹤所有正在處理中的項目(已經(jīng)開始但尚未結(jié)束),將更加有效。某個項目一旦處理完畢,將被從堆棧中刪除。當發(fā)現(xiàn)新的項目時,這些項目將被添加到堆棧中。

 
 
 
  1. CREATE PROCEDURE expand (@current char(20)) as SET NOCOUNT> 

輸入?yún)?shù) (@current) 表示層次中的開始位置。它還跟蹤主循環(huán)中的當前項目。

使用的兩個局部變量分別是 @level(用于跟蹤SQL Server層次結(jié)構(gòu)中的當前級別)和 @line(是用于構(gòu)造縮進行的工作區(qū))。

 
 
 
  1. SET NOCOUNT>  

使用層次中開始點的項目標識符來創(chuàng)建和整理臨時表 #stack,而 @level 被設置為與之匹配。#stack 中的 level 列允許同一個項目出現(xiàn)在數(shù)據(jù)庫的多個級別中。雖然這種情況不適用于該示例中的地理數(shù)據(jù),但是它可以用于其它示例。

在下面的示例中,當 @level 大于 0 時,該過程執(zhí)行以下步驟:

1.如果當前級別 (@level) 的堆棧中有任何項目,該過程將選擇其中一個,并稱之為 @current。

2.縮進項目 @level 空格,然后打印該項目。

3.從堆棧中刪除該項目以免重復處理它,然后將其所有子項目添加到堆棧的下一級 (@level + 1) 中。這是唯一使用層次表 (#stack) 的地方。

如果使用傳統(tǒng)的編程語言,就必須找到每個子項目并將其逐個添加到堆棧中。而使用 Transact-SQL,只用一個語句就能找到并添加所有的子項目,以免又使用一個嵌套循環(huán)。

4.如果有子項目 (IF @@ROWCOUNT > 0),則下降一級處理它們 (@level= @level + 1);否則,繼續(xù)在當前級別上處理。

5.***,如果在當前級別的堆棧中沒有待處理的項目,則返回到上一級,看上一級是否有待處理的項目 (@level= @level - 1)。當再沒有上一級時,則展開完畢。

以上的相關(guān)內(nèi)容就是對SQL Server層次結(jié)構(gòu)的展開的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server刪除群集的實例演示
  2. 對SQL Server數(shù)據(jù)庫與XML支持的正確理解
  3. 解決SQL Server數(shù)據(jù)庫中的安全疑難問題的方案
  4. SQL Server 瀏覽器的正確應用
  5. SQL Server 服務管理器的正確運行方式

網(wǎng)站名稱:SQL Server層次結(jié)構(gòu)的展開模式
本文鏈接:http://www.5511xx.com/article/dhhspgo.html