繁体   English   中英

单个事务中的多个读取查询

Multiple read queries in a single transaction

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这个答案声称事务对于多个读取语句也很有用。 下面的测试用例是错误的还是需要相关的表才能返回一致的结果?

在控制台 #1 中执行以下命令:

set transaction isolation level serializable;
begin transaction;
select * from TableA;
waitfor delay '00:00:15';
select * from TableB;
commit transaction;

在控制台 #2 中,在那 15 秒 window 中,执行以下操作:

set transaction isolation level serializable;
begin transaction;
insert into TableB(col) values('b');
commit transaction;

15 秒后,控制台 #1 返回一行,其中包含'b' 为什么? 我认为控制台 #1 不会返回任何结果,或者事务 #1 会中止,因为TableB已被修改。

I've tried SQL Server LocalDB 2017 on Windows and SQL Server 2019 RC1 on Linux. 我使用 DataGrip 运行了我的 sql 命令,但我使用 Entity Framework 6 的原始用例。

1 个回复

控制台#1 执行返回针对TableB 的'b' 记录,因为控制台#2 在控制台#1 中TableB 的选择查询之前添加了TableB 中的记录。 事务仅锁定已执行查询中存在的那些表。 如果在选择 TableB 后等待添加,则控制台 #1 将不会获得“b”记录。 如果表的结构发生更改,例如删除列并在选择查询之前添加新列,但如果未使用 *,则查询将被中止。 如果在所选查询中按名称不存在 Drop 列,则不会生成错误。

3 单个SQL查询中的多个计数(事务类型)

因此,我有一个用于企业所有交易的表格,非常简单,它有一个付款方式列,该列列出了如何进行所有交易(现金,贷方或借方)。 我想要做的是使用查询创建两列,该列计算出每笔交易的完成方式,一列是现金,另一列是Card,其中包括所有的信用卡和借记卡购买。 这是我到目前为止的内容: 我想要 ...

4 多个Java jvm中的单个事务

一个java部署单元(JVM)中实现了一个spring服务。 另一个spring服务是在另一个JVM中实现的。 从第一个jvm到第二个jvm进行服务调用。 服务接口可以是http上的rest或soap。 需要在多个jvm上保留单个事务,这意味着如果任何服务失败,则必须回滚所有事物。 这 ...

5 同一事务中的多个无序读取查询会返回相同的结果吗?

我正在研究一种检索特定实体的一个或多个实例的功能。 有问题的实体与其他实体有多个一对多的关系。 我需要用这些关系填充基本实体。 我首先加载基本实体,然后运行多个后续查询,每个查询都加载一组一对多关系。 基本查询始终相同,但每个查询最终都会与特定表进行连接。 查询条件将始终相同。 只要我在同一个事务 ...

2021-04-30 08:21:27 1 16   mysql
6 休眠多个更新查询单个事务

我正在将休眠与mysql db一起使用,但是在单个事务中无法进行多个更新 这是我的代码 该代码有效,但是当我使“ q1.executeUpdate()”失败时,“ oemuserdata”中的记录将被锁定在Mysql中。 难道我做错了什么? ...

8 PHP PostgreSQL事务中的多个查询

在这种情况下,表1是表2的一对多,表2是表3的一对多。 表3的记录在创建时分配给表1,并在以后的过程(此过程)中的操作中分配给表2。 在查询时,表1和表2的主键都是已知的。 如果我在同一事务中先执行UPDATE然后执行SELECT , SELECT将反映UPDATE吗? 当我获取结果时, ...

9 php mysqli - 在单个查询中隐藏事务

MySQli一直声明我的'组合'查询的第一个选择部分存在语法错误,如下所示: 这是'不允许'在PHP? 是否必须使用如下的mysqli函数: 我已经在mysql中执行了查询(在使用var_dump按原样获取它之后),并且它正在执行完美,所以我认为确实没有语法问题,并且可能不允许 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM