1
この構文を使用すると、以下のエラーが発生します。私は、ノードの関数に引数を渡すことができるようにしたい: -T-SQLノードメソッドに引数を渡す(XML CROSS APPLY)
CROSS APPLY XML_TPYE_COLUMN.nodes(@p_Xpath) AS Tab(Col)
がエラー:
3210誰かが私はこれを正しく行うのですか教えてもらえますか?
この構文を使用すると、以下のエラーが発生します。私は、ノードの関数に引数を渡すことができるようにしたい: -T-SQLノードメソッドに引数を渡す(XML CROSS APPLY)
CROSS APPLY XML_TPYE_COLUMN.nodes(@p_Xpath) AS Tab(Col)
がエラー:
3210誰かが私はこれを正しく行うのですか教えてもらえますか?
ノードのパラメータは文字列リテラルでなければならないため、動的SQLを使用する必要があります。これは、あなたがsp_executesql
をしたときのやり方に似ています。
は、言い換えれば、あなたはsp_executesqlをするデータ型はnvarchar(max)のようにあなたの全体のSQLステートメントを構築し、それを渡す必要があります:
DECLARE @statement nvarchar(max)= N'select ... CROSS APPLY col.nodes('[email protected]_Xpath+') AS Tab(Col)'
execute sp_executesql [email protected]