如何更改我的查询以免发生此错误:
XML 数据类型方法“值”必须是字符串文字
T-SQL代码:
Declare @Count Int = 1
While(@count <= @j)
Begin
insert into mytable
([Word])
Select ([XmlColumn].value(N'word['+Cast(@Count as nvarchar(2))+']/@Entry','nvarchar(max)'))
from OtherTable WHERE ID=2
对于 value 方法,不能以这种方式将变量连接为字符串。你需要使用sql:variable("@VariableName")
.
所以你的例子是这样的:
Declare @Count Int = 1
While(@count <= @j)
Begin
insert into mytable
([Word])
Select ([XmlColumn].value(N'/word[sql:variable("@Count")]/@Entry)[1]','nvarchar(max)'))
from OtherTable WHERE ID=2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)