1

さまざまなブログからいくつかの例と解説をスキャンしました。特定のノード/属性を選択するために sql:variable を使用する多くの例を見てきましたが、ノード選択のような単純なものを SQL 変数に置き換えることができるかどうかはわかりません. たとえば、次のような場合:

declare @NodeStartPoint    varchar(255) = '/root/parent/child'

その後、次のようなクロス適用を使用する可能性があります。

cross apply MyXml.nodes(@NodeStartPoint)

明らかに、上記のクロス適用ノードの選択は機能しません。私も試しました:

cross apply MyXml.nodes('sql:variable(@NodeStartPoint)')

おそらく他のいくつかの奇妙な組み合わせも!

アイデアは、パラメータなどからノード選択を渡すことができるようにすることです.

http://blogs.msdn.com/b/mrys/http://msdn.microsoft.com/en-us/library/ms186960%28SQL.90%29.aspxを調べ始めましたが、これまでのところ、私が達成しようとしていることの例が見つからないため、間違ったツリーを吠えていると思います! :)

どんなアイデアでもありがたく受け取った!!

4

1 に答える 1

2

さて、インターネットで同様の質問に対して見た応答のタイプを考慮して、私自身の質問に答えるようなものです..これは非常に似ています: T-SQL Nodes メソッドに引数を渡す (XML CROSS APPLY)

したがって、nodes() ステートメントで変数置換を使用して実行することはできないと推測しています..

于 2013-03-08T12:05:25.560 に答える