熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL Server2005的XML數據類型之基礎篇[4]

2013-11-15 14:52:47  來源: SQL Server 

  nodes方法

  nodes方法用於把一組由一個查詢返回的結點轉換成一個類似於結果集的表中的一組記錄行該方法的語法如下

nodes (XQuery) Table(Column)
  這裡XQuery是選擇要暴露為一個結果集的結點的表達式Table和Column用於指定結果集中的名字注意你僅可以操作一列並且它的自動類型為XML例如為了查詢並得到每一個投球手的信息你可以編寫如下的代碼

DECLARE @doc xml
SELECT @doc =
<Team name=Braves
<Players>
<Pitcher name=John Smoltz role=Closer
With team since
</Pitcher>
</Players>
</Team>
SELECT Teamplayerquery() as Pitcher
FROM @docnodes(/Team/Players/Pitcher)
Team(player)
  這些在單個結果集中的結果包含相應於每一個投球手的元素的行數據

Pitcher

<Pitcher name=John Smoltz role=Closer />
<Pitcher name=Russ Ortiz role=Starter />
( row(s) affected)
  注意上面你使用了query方法把這些結點返回到結果中其原因在於一個nodes方法的結果可能僅能為XML方法(查詢修改刪除和更新)或IS NULL和IS NOT NULL語句所參考

  一般地你可以使用nodes方法把XML分解為一組更為有用的結果例如你可以使用nodes方法得到運動員的結點然後使用value方法檢索它們以便得到作為標量數據的單個值

SELECT Teamplayervalue(
/@name nvarchar()) as Name
Teamplayervalue(/@role nvarchar()) as
PlayerRole
FROM @docnodes(/Team/Players/Pitcher)
Team(player)
  這會產生如下的結果

Name PlayerRole

John Smoltz Closer
Russ Ortiz Starter
( row(s) affected)

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22484.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.