成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server數據庫正確展開層次結構的流程

數據庫 SQL Server
以下的文章主要描述的是SQL Server數據庫正確展開層次結構,以及對其在實際操作中要用到的代碼的描述,望你能有所收獲。

以下的文章主要向大家描述的是SQL Server數據庫正確展開層次結構,我們大家都知道SQL Server數據庫經常存儲層次信息。就比如下面的數據是全球一些地區的層次表示形式。這種表示形式并未清楚地顯示出數據中隱含的結構。

 

  1. Parent Child -------------- -----------------   
  2. World Europe World North America Europe France France Paris North America   
  3. United States North America Canada United States New York United States   
  4. 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 支持遞歸,但是使用臨時表作為堆棧來跟蹤所有正在處理中的項目(已經開始但尚未結束),將更加有效。某個項目一旦處理完畢,將被從堆棧中刪除。當發現新的項目時,這些項目將被添加到堆棧中。

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

輸入參數 (@current) 表示層次中的開始位置。它還跟蹤主循環中的當前項目。

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

  1. SET NOCOUNT>  

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

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

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

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

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

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

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

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

以上的相關內容就是對SQL Server數據庫如何展開層次結構的介紹,望你能有所收獲。

【編輯推薦】

  1. 創建SQL Server數據庫更是實在
  2. 優化SQL Server數據庫的經驗大盤點
  3. SQL Server 2005商業智能功能淺析
  4. SQL Server 2000數據庫備份和還原的示例
  5. SQL Server磁帶備份設備的性能優化過程
責任編輯:佚名 來源: pycsky.com
相關推薦

2010-07-06 10:19:15

SQL Server層

2010-07-01 15:02:29

SQL Server數

2010-06-28 10:36:42

SQL Server數

2010-07-01 11:14:36

SQL Server

2019-04-26 13:20:24

數據庫PostgreSQL Oracle

2010-07-07 10:31:43

SQL Server數

2010-07-21 10:05:29

SQL Server排

2010-07-01 11:03:04

SQL Server轉

2010-07-22 16:07:02

SQL Server數

2010-06-30 08:27:45

SQL Server數

2010-07-05 17:41:37

SQL Server

2010-06-30 15:52:05

2011-08-04 15:55:25

SQL Server數

2010-06-29 17:56:47

正確升級SQL Ser

2010-07-22 10:52:21

SQL Server數

2010-07-15 17:28:50

SQL Server

2010-07-13 09:12:56

SQL Server

2010-06-30 08:46:51

升級SQL Serve

2010-07-16 10:29:02

SQL Server

2010-07-12 14:55:34

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 嫩草网| 亚洲电影中文字幕 | av免费成人 | 神马九九| 啪啪综合网 | 精品国产一区二区三区在线观看 | 日韩不卡视频在线 | 久草资源在线视频 | 亚洲综合日韩精品欧美综合区 | 免费久久99精品国产婷婷六月 | 日韩一区二区三区精品 | 久久噜噜噜精品国产亚洲综合 | 精品久久久久一区二区国产 | 香蕉国产在线视频 | 美女视频一区二区三区 | 福利视频亚洲 | 欧美自拍另类 | 欧美日韩国产一区二区三区 | 成人在线免费观看 | 日本 欧美 国产 | 午夜小影院| 欧美淫片 | 国产精品电影网 | 国产精品明星裸体写真集 | 亚洲永久字幕 | 欧美国产日韩精品 | 国产乱码精品1区2区3区 | 国产精品夜夜夜一区二区三区尤 | 亚洲一区视频在线 | 欧美综合一区 | 在线观看亚洲精品视频 | 精品国产乱码久久久久久丨区2区 | 91视频一区二区 | 国产精品久久久久久 | 欧美视频一区二区三区 | 国产视频第一页 | 在线不卡av | 激情五月婷婷综合 | 麻豆久久久久久久 | 国精产品一品二品国精在线观看 | 欧美做暖暖视频 |