これをTSQLに実装する方法を理解しようとしています
do
update stuff set col = 'blah' where that_row = 'the right one'
select trash from stuff ...
until some_condition
Transact-SQLによって提供される唯一の反復制御フローセンテンスはwhile (condition) sentences
、最初に条件を評価し、その条件が真の場合はセンテンスを実行することです。
最後に実行されたUPDATEが達成されるまで、何らかの条件がトリガーされるまで、テーブルに対してUPDATEステートメントを実行するようなシナリオを考えています。
最も重要なのは、この問題に対する汚れの少ないアプローチを探していることです(UPDATE文は任意に長く複雑になる可能性があるため、WHILEの前にUPDATEを複製してもあまり意味がありません)
編集:私が解決しようとしている問題には、同じテーブルの下にある複数のUPDATEステートメントが含まれ、それぞれが前の反復からの値を取得して変換します。各行は1回だけ評価および更新されるため、これを1つの大きなUPDATEステートメントで行うことはできません。したがって、この混乱を機能させるために理解できる唯一の方法はループです。