在SQL Server中连接XML变量
我在存储过程中有一个查询,检索一些XML格式的数据,以变量@XML_data返回,如下所示:在SQL Server中连接XML变量,sql,xml,sql-server-2008,tsql,Sql,Xml,Sql Server 2008,Tsql,我在存储过程中有一个查询,检索一些XML格式的数据,以变量@XML_data返回,如下所示: SELECT @xml_data = ( SELECT * FROM ( SELECT 1 AS Tag ,0 AS Parent ..... FROM MyTable WHERE id = @id UNION ALL SELECT
SELECT @xml_data = (
SELECT * FROM (
SELECT 1 AS Tag
,0 AS Parent
.....
FROM MyTable
WHERE id = @id
UNION ALL
SELECT 2 AS Tag
,1 AS Parent
....
FROM MyTable2
WHERE id = @id
UNION ALL
SELECT 3 AS Tag
,2 AS Parent
....
FROM MyTable3
WHERE id = @id
) results
FOR XML EXPLICIT, TYPE)
这就像众所周知的梦想:
但是,我想将一个头连接到这个XML,例如,但不知道如何做。我试着转换成NVARCHAR,在一个语句中选择两个变量,但似乎无法正确实现
有人能帮忙吗
谢谢:试着这样做:
DECLARE @x xml
DECLARE @strXML varchar(MAX)
SET @x=N'<Employee><Name>Luftwaffe</Name></Employee>'
set @strXML = '<xml version="1.0" encoding="ISO-8859-1"/>' + CONVERT(varchar(MAX),@x)
SELECT @strXML
希望有帮助 您只需在开头声明字符串并将它们连接在一起:
declare @xml_data nvarchar(MAX)
set @xml_data = '<xml version="1.0" encoding="ISO-8859-1"/>'
SELECT @xml_data = @xml_data + (
SELECT * FROM (
SELECT 1 AS Tag
,0 AS Parent
.....
FROM MyTable
WHERE id = @id
UNION ALL
SELECT 2 AS Tag
,1 AS Parent
....
FROM MyTable2
WHERE id = @id
UNION ALL
SELECT 3 AS Tag
,2 AS Parent
....
FROM MyTable3
WHERE id = @id
) results
FOR XML EXPLICIT, TYPE)