gpt4 book ai didi

sql-server - 是否可以使用变量设置使用 FOR XML PATH 的选择语句中的 ROOT 元素?

转载 作者:数据小太阳 更新时间:2023-10-29 02:03:35 26 4
gpt4 key购买 nike

我有一个创建 xml 文件的查询。目前,我对 ROOT 元素进行了硬编码。我想使用变量值来设置此根元素值,但用变量替换硬编码字符串会引发语法错误,即 expecting a string。这是选择语句:

DECLARE @SelectResults XML
DECLARE @DatabaseName varchar(100)
SELECT @DatabaseName = DB_NAME();

SET @SelectResults =
(
SELECT...query results here...
FOR XML PATH(''),
ROOT(@DatabaseName) --when this is set to 'DatabaseName' it works
)

我可以在函数 ROOT() 中使用变量吗?

最佳答案

您可以在单独的替换中对 XML 输出进行替换:

DECLARE @SelectResults XML
DECLARE @DatabaseName varchar(100)
SELECT @DatabaseName = DB_NAME();

SET @SelectResults =
replace(
SELECT...query results here...
FOR XML PATH(''),
ROOT('ROOT_ELEMENT') --when this is set to 'DatabaseName' it works
), 'ROOT_ELEMENT>',@DatabaseName+'>' )

关于sql-server - 是否可以使用变量设置使用 FOR XML PATH 的选择语句中的 ROOT 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com