我有一个存储过程,它调用 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 中没有找到等价物。
有什么线索吗?