Архив за месяц: Сентябрь 2013

Слово об UPDATE

updateИзвестно, что бывает довольно сложно правильно написать сложный запрос, чтобы он работал хорошо и быстро. Но, оказывается, очень часто неправильно пишутся и достаточно простые вещи типа update каких-то полей одной таблицы — даже без каких-либо joins.

Вот характерный пример:
update tableA
set fieldA = case when fieldB = 'ONE' then 1 else 0 end
from tableA
where fieldA = 0

(это синтаксис MSSQL, в Oracle нет from)

Спрашивается — что здесь неправильно? Читать далее