Я использую подзапрос в ОБНОВЛЕНИИ:
UPDATE tableA
SET x,y,z = ( (SELECT x, y, z
FROM tableB b
WHERE tableA.id = b.id
AND (tableA.x != b.x
OR tableA.y != b.y
OR tableA.z != b.z))) );
Мой вопрос: что произойдет, если подзапрос не вернет строк? Будет ли это делать обновление с нулями?
Во-вторых, есть ли лучший способ написать это. Я в основном обновляю три поля в таблице A из таблицы B, но обновление должно происходить только в том случае, если какое-либо из трех полей отличается.
the update should only happen if any of the three fields are different.
звучит как предложение where для меня... - person OMG Ponies   schedule 02.12.2009