我需要在XMLformat中将变量@XMLOutput
设置为子查询的值。
子查询可以自行运行,但是当运行整个查询时,我得到错误:
XML附近的语法不正确。
SELECT @XMLOutput = (SELECT loc
FROM ghhsitemap url
FOR XML AUTO, Elements)
第二个问题:将@XMLOutput
指定为变量并将其数据类型设置为xml
时,它表示它不是有效的数据类型。
如何解决这个问题?
答案 0 :(得分:2)
在SQL Server 2005之前,SQL Server中不包含XML数据类型支持。
答案 1 :(得分:0)
只需将@XMLOutput声明为varchar()
即可您设置值的语法错误 - 应该是这样的:
SELECT @XMLOutput = loc FROM ghhsitemap url FOR XML AUTO, Elements
答案 2 :(得分:0)
这在sql 2000中不受支持。并且不要试图在相关子查询中返回它 - 这在sql 2000中也不起作用。有趣吗?
在你的情况下,由于你的xml是如此简单,我只是将xml构建为一个字符串并返回它。
DECLARE @XmlString varchar(500)
SELECT @XmlString = '<loc>' + Cast(loc as varchar(8)) + '</loc>' FROM ghhsitemap