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專欄: