是否有另一种方法可以动态传递节点元素 ,而不是下面显示的那个 - ?
select XMLTable.XMLCOL.query('//*[local-name()=sql:variable("@node")')
例如,即使我试图提供完全限定的路径,我也不想对节点元素进行硬编码,而是希望将它们作为参数单独传递。
在 -
部分下示例:使用sp_executesql查询
@ http://msdn.microsoft.com/en-us/library/ms345118(v=sql.90).aspx
它说 -
查询包含使用节点名称的通配符(*)和节点测试 难以优化。因此,它的表现要差得多 原始查询和查询构造方法。
答案 0 :(得分:0)
可能是这样的:
declare @qry nvarchar(1000)
set @qry = 'select XMLCOL.query(''//' + @node + ''') from XMLTable'
exec( @qry )