1

このようなテーブルがあります

CREATE TABLE #tmp(ColSelect NVARCHAR(400),ColParValues XML)

ColSelectには SQL Select ステートメントが含まれており、ColParValuesは ColSelect のパラメーター値の xml データが含まれています。

 "SELECT [$12]+19/[$16]-[$54]"

および col 2 には、ColSelect パラメータを参照する名前と値のペアが含まれています

各パラメーターを ColParValues の関連する値に置き換えるテーブルを更新するにはどうすればよいですか。私はこのステートメントを使用します:

update #tmp
SET
ColSelect=REPLACE(ColSelect,c.value('@Value','nvarchar(10)'),c.value('@Res','DECIMAL(24,12)'))
FROM #tmp t1
    CROSS APPLY t1.ColParValues.nodes('/root/r') AS n(c) 

ただし、このステートメントは、各行のパラメーター値を 1 つだけ置き換えます。そして、これはサンプルデータのリンクです

4

1 に答える 1