使用t sql sp构建xml并执行sp以插入表中

时间:2017-07-19 17:46:06

标签: xml tsql stored-procedures

我对t-sql有点新,我有一个构建xml blob的存储过程。如何构建插入查询以将从存储过程创建的xml插入表中?

2 个答案:

答案 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)

这样的事情:

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

您可以从here获取更多信息。