Мне не очень нравится оператор TOP, но:
UPDATE top (1) MyTable
set Data = '123'
where Data = 'def'
Действительно, вы хотите иметь первичные ключи в своих таблицах, чтобы избежать именно такой ситуации, даже если они являются просто суррогатными значениями идентичности.