我试图弄清楚如何在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
,它首先评估条件,如果该条件为true,则执行该语句。
我正在考虑这样一种情况,例如对表执行UPDATE语句,直到某些条件触发y并执行上一次执行的UPDATE。
最重要的是,我正在寻找解决这个问题的方法(在WHILE之前复制UPDATE对我来说没有太大意义,因为UPDATE语句可以任意长且复杂)]
EDIT:我要解决的问题涉及同一表下的多个UPDATE语句,每个语句都采用并转换先前迭代中的值。仅用一条大的UPDATE语句就不可能做到这一点,因为每一行仅被评估和更新一次,因此循环是我弄清楚使此混乱工作的唯一方法。
这实际上是一个Do-While循环: