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 に答える