我有以下代码:
@MasterXML= '
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
<DataSets>
<DataSet Name="'+@Datasetname+'">
<Query>
</Query>
<Fields>
<Field>
</Field>
</Fields>
</DataSet>
</DataSets>
</Report> '
WHILE @i <= @Cnt
BEGIN
Select @xml=
(
SELECT @cname AS [@Name]
,@cname AS [DataField]
,'System.String' AS [rd:TypeName]
FOR XML PATH('Field')
);
SET @i = @i + 1
SET @MasterXML.modify(' insert sql:variable("@xml") as last into (Fields)[1] ' )
end
select @MasterXML
我正在通过循环生成一个XML,我想在
后面插入它。
我尝试了SET @MasterXML.modify(' insert sql:variable("@xml") as last into (Fields)[1] ' )
,但生成的字段没有增加。
有人能帮帮我吗?
@cname
来自哪里,但是这可以在没有任何循环或.modify()
的情况下完成-至少我认为如此...我的建议:有一些关于这个问题的答案。如果它们解决了问题,请接受您最喜欢的答案并行使您的投票权。然后设置一个新问题,提供更多信息,说明您真正想要实现什么。这听起来像一个xy-problem。 - Shnugo