3

是否有另一种方法可以动态传递节点元素而不是下面显示的 - ?

select XMLTable.XMLCOL.query('//*[local-name()=sql:variable("@node")')

例如,即使我试图给出完全限定的路径,我也不想硬编码节点元素,而是想将它们作为参数单独传递。

在该部分下 -

示例:使用 sp_executesql 进行查询

@ http://msdn.microsoft.com/en-us/library/ms345118(v=sql.90).aspx

它说 -

查询包含通配符 (*) 和使用节点名称的节点测试,很难很好地优化。因此,它的性能比原始查询和查询构造方法差得多。

4

1 回答 1

0

可能是这样的:

declare @qry nvarchar(1000)
set @qry = 'select XMLCOL.query(''//' + @node + ''') from XMLTable'
exec( @qry )
于 2011-08-12T13:01:15.903 回答