我正试图弄清楚如何在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执行完成的某个条件。
最重要的是,我正在寻找解决这个问题的最少污染方法(在WHILE之前复制UPDATE对我来说并没有太多意义,因为UPDATE语句可以任意长且复杂)。
编辑:我尝试解决的问题涉及同一表下的多个UPDATE语句,每个语句都从前几次迭代中获取并转换值。无法仅使用一个大型UPDATE语句执行此操作,因为每行将仅被评估和更新一次,因此循环是我能想出使其有效的唯一方式。