将 XML 结果保存到 SQL 中的变量或表中

发布于 2024-11-15 16:55:24 字数 610 浏览 0 评论 0原文

如何将 XML 保存到 SQL 存储过程生成的变量或表中?

这是我的示例:

DECLARE @ReportResultXml TABLE(RXml XML)    
DECLARE @ResultXml  XML = NULL

INSERT @ReportResultXml EXEC (@Script + ' FOR XML RAW, ROOT, XMLSCHEMA, ELEMENTS')
SELECT @ResultXml = RXml FROM @ReportResultXml
EXEC Repor.ProcInsert 1, @ResultXml

SELECT @ResultXml

@Script 变量包含此 SQL 查询:

DECLARE @PeriodID INT
SET @PeriodID = 12
SELECT TOP 10 PeriodID, Name
FROM Agent.Points
WHERE PeriodID = @PeriodID

该语句将生成以下错误:

INSERT 语句中不允许使用 FOR XML 子句。

How can I save a XML to variable or table which is generated by SQL stored procedure?

Here's my sample:

DECLARE @ReportResultXml TABLE(RXml XML)    
DECLARE @ResultXml  XML = NULL

INSERT @ReportResultXml EXEC (@Script + ' FOR XML RAW, ROOT, XMLSCHEMA, ELEMENTS')
SELECT @ResultXml = RXml FROM @ReportResultXml
EXEC Repor.ProcInsert 1, @ResultXml

SELECT @ResultXml

The @Script variable contains this SQL query:

DECLARE @PeriodID INT
SET @PeriodID = 12
SELECT TOP 10 PeriodID, Name
FROM Agent.Points
WHERE PeriodID = @PeriodID

That statement will generate the following error:

The FOR XML clause is not allowed in a INSERT statement.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-11-22 16:55:24

这可能会帮助您找到解决方案:

declare @script nvarchar(max)
set @script = 'select 1 as a, 2 as b for xml raw'

declare @ReportResultXml table (RXml XML)
declare @ResultXml xml

declare @sql nvarchar(max)

set @sql = 'set @ResultXml = (' + @script + ')'
execute sp_ExecuteSQL @sql, N'@ResultXml xml output', @ResultXml output

insert into @ReportResultXml select @ResultXml

select * from @ReportResultXml

This may help you to find your solution:

declare @script nvarchar(max)
set @script = 'select 1 as a, 2 as b for xml raw'

declare @ReportResultXml table (RXml XML)
declare @ResultXml xml

declare @sql nvarchar(max)

set @sql = 'set @ResultXml = (' + @script + ')'
execute sp_ExecuteSQL @sql, N'@ResultXml xml output', @ResultXml output

insert into @ReportResultXml select @ResultXml

select * from @ReportResultXml
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文