このようなテーブルがあります
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 つだけ置き換えます。そして、これはサンプルデータのリンクです