2017-07-19 70 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得到。