sql-server – sql中nolock的语法

前端之家收集整理的这篇文章主要介绍了sql-server – sql中nolock的语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看到sql语句使用nolock和with(nolock)
例如 – @H_301_3@select * from table1 nolock where column1 > 10

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

以上哪些陈述是正确的,为什么?

解决方法

第一个声明不会锁定任何东西,而第二个声明不会锁定.当我刚刚在sql Server 2005中进行测试时,@H_301_3@select * from table1 nolock where column1 > 10

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

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

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

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

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

@H_301_3@ROLLBACK

当你完成了

原文链接:https://www.f2er.com/mssql/81677.html

猜你在找的MsSQL相关文章