А ты посмотри, какой он в стандарте. Он рулит только в одном случае - когда нет PK или условие апдейта хитрее, чем простое соответствие значений ключа. И для этого MERGE мы реализуем. Но для 95% случаев он излишне громоздкий и неудобный, и именно поэтому сделан REPLACE.

Вы что, оба реализуете? Круто!!! ;-)

PS А ещё ведь есть INSERT INTO [ON DUPLICATE KEY UPDATE] не помню у кого. 
По-моему тоже вариант не плохой - не надо новую команду прикручивать.

PPS Я вобще-то щас обхожусь с помощью EXECUTE BLOCK для этих целей, однако же 
формирование блока требует знания типов данных каждого поля, что конечно же 
приводит к неудобствам.

Ответить