SQL server 讀取 XML格式 (類比資料集參數)

來源:互聯網
上載者:User

  

     經常想用資料集合的參數給預存程序處理,但是SQL server 卻沒有提供這樣地服務。

     oracle好像有,這就是差距~~~

     沒辦法誰讓人家SQL server也這麼的常用來。

     雖然SQL server 沒有明顯的給出一個資料集合的參數,但是我們可以運用它的一些功能,來實現一下。

     XML恩~對就是它,現在很流行的傳輸格式。

     其實SQL server裡面已經整合了讀取XML 的功能。

     我們可以運用這樣的一個特性,來類比的傳入一個集合參數。就是一個XML格式。

     舉個例子:

  DECLARE @sql varchar(2000)      --這裡看成一個從預存程序傳進來的參數
 
DECLARE @idoc int
 
SET @sql = '
 
<root>
 
<student name=''Tom'' age=''21'' />
 
<student name=''Jerry'' age=''22'' />
 
<student name=''Join'' age=''23'' />
 
</root>
 
'
 
EXEC sp_xml_preparedocument @idoc OUTPUT,@sql   --建立XML 控制代碼??

 -- 查詢結果

 
SELECT * FROM OPENXML (@idoc,'/root/student',1)
                        WITH (name varchar(10),
                        age int)
 
EXEC sp_xml_removedocument @idoc      --清理一下記憶體

   最後結果

   name       age

   Tom        21

   Jerry        22

   Join          23

不過這樣是有些缺點的,這裡的參數最長長度是8000 ,也就是說超過八千的長度就可能會出錯。

 

   

 PS:看到別人發代碼那種是怎麼發的??不會~~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.