SQL Server ->> XML方法
1. 得到XML类型中某个节点下子节点的数量
DECLARE @xml xml SET @xml = ' <Parameters> <Parameter name = "param_executionid" type="Int64" /> <Parameter name = "param_loadfromsourceSP" type="String" /> <Parameter name = "param_loadtoStageTableSP" type="String" /> <Parameter name = "param_objectname" type="String" /> </Parameters>'; SELECT @xml.value('count(/Parameters/Parameter)', 'int')
2. 把XML转成Table
DECLARE @xml xml SET @xml = ' <Parameters> <Parameter name = "param_executionid" type="Int64" /> <Parameter name = "param_loadfromsourceSP" type="String" /> <Parameter name = "param_loadtoStageTableSP" type="String" /> <Parameter name = "param_objectname" type="String" /> </Parameters>'; SELECT T.c.query('.').value('(//@name)[1]', 'varchar(50)') AS A, T.c.query('.').value('(//@type)[1]', 'varchar(50)') AS B FROM @xml.nodes('/Parameters/Parameter') T(c)
3. 把结果集转成XML
SELECT parameter_name name, data_type type, ISNULL(default_value,'') value FROM SSISDB.catalog.object_parameters par WHERE object_name = 'xxxxx' ORDER BY par.parameter_id FOR XML RAW ('Parameter'), ROOT ('Parameters')
参考:
Manipulating XML Data in SQL Server
sp_xml_preparedocument (Transact-SQL)
SELECT an XML string to a table – SQL Server
Using the FOR XML Clause to Return Query Results as XML
query() Method (xml Data Type)
Examples of using XQuery to update XML Data in SQL Server
浙公网安备 33010602011771号