我想在plpgsql代码中使用GET DIAGNOSTICS integer_var = ROW_COUNT
来获取INSERT INTO
语句插入表中的行数。
如果我几乎同时运行多个INSERT INTO
语句,我可以确定GET DIAGNOSTICS
为每个语句正确返回插入的行数吗?
如果按照以下顺序发生,我可以用一个例子来说明这一点:
GET DIAGNOSTICS rowcount = ROW_COUNT;
GET DIAGNOSTICS rowcount = ROW_COUNT;
用户A的rowcount
是10,用户B是5吗?或者都会得到5?
答案 0 :(得分:3)
PostgreSQL PLpgSQL 语句GET DIAGNOSTICS
显示有关事务中最后一个语句的信息(在与其他用户隔离的内部事务中)。因此用户A将看到10,用户B将看到5.
PostgreSQL是ACID数据库,用户被强烈隔离(通常)。在一个会话中,您无法查看其他用户的详细工作。最大限度地看到已提交的数据更改。