我有一个带有参数的存储过程,我希望它包含一个XPath表达式,然后可以用它来检索select中的值,但是r.value(...)异常消息说我只能使用文字。
这是真的还是有办法解决这个问题?
create proc MySproc
@myxml xml,
@xpath nvarchar(50)
as
begin
select r.value(@xpath, 'nvarchar(100)') as 'demofield'
from @myxml.nodes('/*') as records(r)
end
我也尝试了r.value('sql:column("@xpath")', 'nvarchar(100)')
答案 0 :(得分:0)
好的,最终我把它全部放在一个动态的声明中。当然,这已经引起了自己的麻烦......