存储过程中怎么把查询的结果转化为XML,然后它赋值给一个XML类型的参数
存储过程中怎么把查询的结果转化为XML,然后它赋值给一个XML类型的参数?
最好是在内存中完成,不要把XML写成一个文件再读取。
[解决办法]
CREATE PROCEDURE P(@xml XML OUTPUT)ASSET @xml=(SELECT TOP 5 ID,Name FROM sysobjects FOR XML PATH('Root') )GODECLARE @xml XMLEXEC p @xml OUTPUTselect MyTable.c.value('./ID[1]','int') AS ID,MyTable.c.value('./Name[1]','nvarchar(50)') AS NAME FROM @XML.nodes('Root') MyTable(c)/*ID NAME4 sysrowsetcolumns5 sysrowsets7 sysallocunits8 sysfiles113 syshobtcolumns*/