2017-07-19 74 views

回答

1

這是給你一個簡單的例子,應自行提取SQL管理Studio 2005的內部和高達:

DECLARE @Xml XML = '<Root><Instance Id="1" Val="Hello">There</Instance><Instance Id="2" Val="How">Are You?</Instance></Root>' 

SELECT 
    x.query('.') AS queryingtheentireNode 
, x.value('@Id', 'int') AS AttributeForId 
, x.value('@Val', 'varchar(16)') AS AttributeForVal 
, x.value('.', 'varchar(16)') AS TextInsideTheNode 
FROM @Xml.nodes('/Root/Instance') AS y(x) 

本質XML是一種三維物體。隨着來自各州,我正在採取一個單一的變量,並通過說'節點'將它擴展到更多的維度。然後,我指定了根節點,然後指定了唯一的其他子節點。然後我縮寫它y(x)。我不知道爲什麼MS需要這樣的兩個值,但如果你做'如x'那麼它會失敗。然後,我可以將這個新引用的節點'查詢'爲x.query。或者我可以從中找到具體的「價值」。 我會看看谷歌的tsql XML節點,XML查詢和XML值。還有其他的口味,但恕我直言,這些方法更容易處理。

+0

感謝您使用類似的東西來存儲xml blob。 (選擇U.UserGUID作爲[@UserID],U.Login AS [@Login],U.Password AS [@Password],U.PasswordDate As [@ @ PasswordDate],U.FName As [@FName],U.LName AS [@LName] From UserSettings..tblUsers As U''' –

0

事情是這樣的:

INSERT myschemafortable.xmldate(xmlblob) 
EXEC myschemaforsp.build_xml_blob; 

更多信息,你可以從here得到。