我对t-sql有点新,我有一个构建xml blob的存储过程。如何构建插入查询以将从存储过程创建的xml插入表中?
答案 0 :(得分:1)
以下是一个简单的示例,您应该在SQL Management 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。或者我可以从中找到具体的“价值”。 我会在google上查找tsql xml节点,xml查询和xml值。还有其他口味,但恕我直言这些方法更容易使用。
答案 1 :(得分:0)