Я не вникал, как у нас сделан ROW_COUNT, но общее правило
(для всех известных мне серверов) гласит - переменные, описывающие
выполнение оператора (например @@ERROR, @@ROWS_AFFECTED,
@@FETCH_STATUS в T-SQL), имеют валидное значение только сразу
после этого оператора.
Т.е. ты хочешь сказать что если я после команды, например, просто присвою
что-то какой-то переменной, то у меня ROW_COUNT уже может быть невалиден? Не
слишком ли жесткое правило?
Во вторых как быть с EXECUTE PROCEDURE RETURNING_VALUES ? Что должно быть в
ROW_COUNT после выполнения этой команды?