這個例子返回下面的XML:
<Orders>
<Order>
<Customer>Margaret Smith</Customer>
<ItemCount>1</ItemCount>
</Order>
<Order>
<Customer>Kim AbercrombIE</Customer>
<ItemCount>3</ItemCount>
</Order>
</Orders>
要注意SQL Server 2008不允許對構造元素賦值。
5 XML DML增強
像可以使用XQuery 表達式對XML數據執行操作一樣,xml 數據類型支持XML DML 表達式通過它的modify 方法來執行insert、replace value of和delete。你可以使用這些XML DML 表達式來操縱一個xml 列或變量中的XML數據。
SQL Server 2008增加了對在一個要執行插入XML數據到一個現有的XML結構中去的insert表達式中使用xml 變量的支持。例如,假設一個叫做@productList的xml 變量包含以下XML:
<Products>
<Bike>Mountain Bike</Bike>
<Bike>Road Bike</Bike>
</Products>
你可以使用下面的代碼將一個新的自行車插入到產品列表中:
DECLARE @newBike XML
SET @newBike = '<Bike>Racing Bike</Bike>'
SET @productList.modify
('insert sql:variable("@newBike") as last into (/Products)[1]')
運行了這個代碼之後,@productList 變量會包括以下XML。
<Products>
<Bike>Mountain Bike</Bike>
<Bike>Road Bike</Bike>
<Bike>Racing Bike</Bike>
</Products>
6 總結
SQL Server 2008建立在SQL Server 2005中對XML的全面支持之上,並擴展了建立強大的將關系數據和XML結合在一起的數據庫解決方案的能力。應用程序開發人員將會發現對XML schema 支持的改進和對XML 數據類型的增強所帶來的好處是非常吸引人的。