XPath必须是文字?

时间:2010-07-09 14:46:37

标签: xml sql-server-2005 tsql xpath

我有一个带有参数的存储过程,我希望它包含一个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)')

之类的东西

1 个答案:

答案 0 :(得分:0)

好的,最终我把它全部放在一个动态的声明中。当然,这已经引起了自己的麻烦......