Известно, что бывает довольно сложно правильно написать сложный запрос, чтобы он работал хорошо и быстро. Но, оказывается, очень часто неправильно пишутся и достаточно простые вещи типа update каких-то полей одной таблицы — даже без каких-либо joins.
Вот характерный пример:
update tableA
set fieldA = case when fieldB = 'ONE' then 1 else 0 end
from tableA
where fieldA = 0
(это синтаксис MSSQL, в Oracle нет from)
Спрашивается — что здесь неправильно? Читать далее