SQL Server數(shù)據(jù)庫中FOR XML AUTO的使用詳解
作者:kkun
本文我們主要介紹了SQL Server數(shù)據(jù)庫中FOR XML AUTO的使用方法,并通過實際的例子來加以說明這一過程,希望能夠?qū)δ兴鶐椭?/div>
FOR XML模式可以是RAW、AUTO、EXPLICIT 或PATH。它確定產(chǎn)生的XML的形狀。并且還有這么段重要提示:不推薦使用FOR XML選項的XMLDATA 指令。如果是RAW 和AUTO 模式,請使用XSD 生成。在EXPLICIT 模式下,沒有XMLDATA 指令的替代項。后續(xù)版本的Microsoft SQL Server將刪除該功能。請避免在新的開發(fā)工作中使用該功能,并著手修改當前還在使用該功能的應用程序。
接下來我們就介紹一下FOR XML AUTO的使用
先看測試用數(shù)據(jù):
- SELECT * FROM T
輸出:
- GRP_A GRP_B GRP_C VAL
- ---------- -------- ------- ------
- a1 b1 c1 10
- a1 b1 c2 10
- a1 b2 c2 40
- a1 b2 c3 40
- a1 b2 c3 50
- a2 b3 c3 NULL
- a2 b3 c3 NULL
- a2 b3 c3 NULL
- (8 行受影響)
最簡單嘛,加上三個關鍵字再看輸出結果:
- USE DORBEN
- GO
- SELECT * FROM T
- FOR XML AUTO
輸出介個:
結果集是個連接,點開瞧瞧:
- <T GRP_A="a1" GRP_B="b1" GRP_C="c1" VAL="10" />
- <T GRP_A="a1" GRP_B="b1" GRP_C="c2" VAL="10" />
- <T GRP_A="a1" GRP_B="b2" GRP_C="c2" VAL="40" />
- <T GRP_A="a1" GRP_B="b2" GRP_C="c3" VAL="40" />
- <T GRP_A="a1" GRP_B="b2" GRP_C="c3" VAL="50" />
- <T GRP_A="a2" GRP_B="b3" GRP_C="c3" />
- <T GRP_A="a2" GRP_B="b3" GRP_C="c3" />
- <T GRP_A="a2" GRP_B="b3" GRP_C="c3" />
新增了FOR XML AUTO關鍵字后,查詢結果集變成了XML,且,原表每行數(shù)據(jù)現(xiàn)在變成了一行XML節(jié)點其中列數(shù)據(jù)變成了XML中的屬性,如果原列值為NULL,則XML中不予體現(xiàn),如XML結果集中的第6,7,8行。
關于SQL Server數(shù)據(jù)庫中FOR XML AUTO的使用的相關知識就介紹到這里了想,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
責任編輯:趙鵬
來源:
博客園


相關推薦




