1. 程式人生 > >XML 資料型別方法"modify" 的引數1 必須是字串文字

XML 資料型別方法"modify" 的引數1 必須是字串文字

在使用XML的modify方法時,無法使用變數來替代相應的引數。只能使用動態SQL來解決這個問題。

declare @XmlContent xml = '

<root>

</root>

'

declare @InsertContent varchar(1024) = '''insert <ttt id="ttt">ttt</ttt> as last into (/root[1])''';

如果執行:

set @XmlContent.modify(@InsertContent);

就會報標題所示的錯誤。

所有要修改為動態SQL的方法:

declare @SelectSql nvarchar(max) = '

set @XmlContentPar.modify('+@InsertContent+');select @XmlContentPar;'

exec sp_executesql @SelectSql , N'@XmlContentPar as xml',@XmlContentPar=@XmlContent

相關SQL Server對XML的操作,請參考:

SQL Server 2008中如何為XML欄位建立索引:http://blog.csdn.net/tjvictor/archive/2009/07/22/4370771.aspx

SQL Server 中對XML資料的五種基本操作:http://blog.csdn.net/tjvictor/archive/2009/07/21/4368511.aspx

如何對SQL Server中的XML資料進行insert、update、delete:http://blog.csdn.net/tjvictor/archive/2009/07/21/4368496.aspx

如需轉載,請註明本文原創自CSDN TJVictor專欄: