sql - 只读提交的数据

标签 sql sql-server tsql

我有一个名为 [Test] 的表,其中只有一个列 [Id] int。

我打开一个事务,向表中插入一行但不提交。

begin tran
insert into [Test]([Id]) values(1)

在另一个请求中,我想从表 [Test] 中选择数据。 如何立即只读取已提交的数据?

Readcommited 表提示持有锁。

select * from test with(readcommitted) 

谢谢。

最佳答案

select * from test with(readpast) 

只要带有未提交数据的事务只有行锁就可以工作。否则请查看两个快照隔离替代方案(假设您至少使用 SQL Server 2005+)。

关于sql - 只读提交的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3778006/

相关文章:

sql - Postgresql 解释计划差异

sql - 如何修复我在 nosql (mongodb) 中的 m..n 关系?

sql - 避免在 UPDATE 语句中多次调用标量函数

php - 根据存储变量设置边界?

sql - T-SQL正则表达式替换

c# - 如何在 Visual Studio 2010 中使用我的安装和部署项目部署 SQL 服务器数据库?

sql - 如何连接表变量?

SQL Group By 函数结合 SUM

sql - Where 子句取决于变量的值

PHP - mysql_numrows() 期望参数 1 是资源, bool 值给出