Каков наилучший способ для этого SQL?Что является лучшим решением для этого ОБНОВЛЕНИЯ
)
update tableName set
FieldA = (if FieldA = 1301 then null else FieldA endif),
FieldB = (if FieldB = 1301 then null else FieldB endif)
where Id = 707;
или
B)
update tableName set FieldA = null where Id= 707 and FieldA = 1301;
update tableName set FieldB = null where Id= 707 and FieldB = 1301;
В модели "А" У меня есть только один SQL, которая работает и решает проблему, и модель "B" I имеют два SQL, которые делают то же, что и модель «A», но более читабельны.
Что было бы наиболее подходящей модель для использования?
Интересно, что первый вариант A) не мог вызвать триггеры обновления, даже если FieldA <> 1301; или даже обновление ввода-вывода. Я имею в виду, будет ли двигатель знать, что 'update set FieldA = FieldA' будет NOP? – pascal
Я думаю, что сервер выполняет операции ввода-вывода в этом случае, но это быстрое обновление inplace. – kolchanov