gpt4 book ai didi

postgresql - 使用并发语句获取诊断 ROW_COUNT

转载 作者:行者123 更新时间:2023-11-29 11:45:20 25 4
gpt4 key购买 nike

我想在 plpgsql 代码中使用 GET DIAGNOSTICS integer_var = ROW_COUNT 来获取通过 INSERT INTO 语句插入到表中的行数。

如果我几乎同时运行多个 INSERT INTO 语句,我能否确保 GET DIAGNOSTICS 为每个语句正确返回插入的行数?

我可以用一个例子来说明这一点,如果这发生在以下顺序:

  1. 用户 A 运行 insert into 语句,将 10 行插入表中。
  2. 用户 B 运行 insert into 语句,将 5 行插入表中。
  3. 用户 A 调用 GET DIAGNOSTICS rowcount = ROW_COUNT;
  4. 用户 B 调用 GET DIAGNOSTICS rowcount = ROW_COUNT;

用户 A 的 rowcount 是否为 10 而用户 B 为 5?或者两者都会得到 5?

最佳答案

PostgreSQL PLpgSQL 语句 GET DIAGNOSTICS 显示有关事务中最后一条语句的信息(在事务中您与其他用户隔离)。所以用户 A 会看到 10,用户 B 会看到 5。

PostgreSQL 是 ACID数据库和用户是高度隔离的(通常)。在一个 session 中,您无法看到其他用户的详细工作。最大可能看到已提交的数据更改。

关于postgresql - 使用并发语句获取诊断 ROW_COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com