А есть ли разница в выполнении запросов
exists(select * from ...)
exists(select field1 from ...)
exists(select 1 from ...)
?
Выполнял запрос
update dashcodes d set
d.warenum=:p_num_min
where
d.warenum=:p_num_max
and not exists(select 1 from dashcodes d2
where d2.warenum=:p_num_min and d2.code_=d.code_);
суть которого в том, что у записи меняется PK, и предварительно
проверяется что записи с новым PK не существует.
Пока было and not exists(select 1 - птица ругалась на совпадение ключей,
заменил на and not exists(select * - все прошло без ошибок.
FB 1.5.3
PS. Возможно я пересекся с другой незавершенной транзакцией - это
конечно все объясняет. Хотя остается вопрос о предпочтительности той или
иной конструкции.