У меня есть хранимая процедура, которая вызывает оператор UPDATE (или INSERT, или DELETE), и я хотел бы сохранить количество строк, обновленных этим оператором, в переменной локали.
Это не работает, потому что INSERT - это инструкция и не может быть оценена как выражение:
CREATE PROCEDURE f()
MODIFIES SQL DATA
BEGIN ATOMIC
DECLARE rows_updated INT;
SET rows_updated = (INSERT INTO my_table VALUES(1,2));
...
END;
Другие механизмы SQL, похоже, имеют «метапеременную» под названием «@@ rowcount» для получения количества строк, обновленных последним оператором UPDATE / INSERT / DELETE транзакции. Я не нашел аналога в HSQL.
Есть подсказка?