gpt4 book ai didi

sql-server - sql中nolock的语法

转载 作者:行者123 更新时间:2023-12-02 02:30:23 27 4
gpt4 key购买 nike

我见过使用 nolock 和 with(nolock) 的 sql 语句例如 -

select * from table1 nolock where column1 > 10

并且

select * from table1 with(nolock) where column1 > 10

以上哪种说法是正确的,为什么?

最佳答案

第一个语句不锁定任何内容,而第二个语句则锁定任何内容。当我刚刚在 SQL Server 2005 上测试这一点时,

select * from table1 nolock where column1 > 10 --INCORRECT

“nolock”成为该查询中 table1 的别名。

select * from table1 with(nolock) where column1 > 10

执行所需的 nolock 功能。持怀疑态度?在单独的窗口中运行

BEGIN TRANSACTION
UPDATE tabl1
set SomeColumn = 'x' + SomeColumn

锁定表,然后在其自己的窗口中尝试每个锁定语句。第一个将挂起,等待锁被释放,第二个将立即运行(并显示“脏数据”)。别忘了发布

ROLLBACK

当你完成时。

关于sql-server - sql中nolock的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1723910/

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