SELECT * FROM table WITH (HOLDLOCK)

注意: 锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除

SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除

SELECT 语句中“加锁选项”的功能说明 SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果。 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明。

功能说明:  NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。

HOLDLOCK(保持锁) 此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。

UPDLOCK(修改锁) 此选项被选中时,SQL Server 在读取数据时使用修改锁来代替共享锁,并将此锁保持至整个事务或命令结束。使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。

TABLOCK(表锁) 此选项被选中时,SQL Server 将在整个表上置共享锁直至该命令结束。 这个选项保证其他进程只能读取而不能修改数据。

PAGLOCK(页锁) 此选项为默认选项, 当被选中时,SQL Server 使用共享页锁。

TABLOCKX(排它表锁) 此选项被选中时,SQL Server 将在整个表上置排它锁直至该命令或事务结束。这将防止其他进程读取或修改表中的数据。

最新文章

  1. Java中基本数据类型的对比记忆
  2. 可以编辑R代码的eclipse插件
  3. Linux之入侵痕迹清理总结
  4. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
  5. java System 常用方法
  6. Object-C内存管理基础
  7. JS~Boxy和JS模版实现一个标准的消息提示框
  8. All about Performing User-Managed Database Recovery
  9. 使用eclipse XML catalog绑定dtd文件
  10. checkSelfPermission 找不到 Android 动态权限问题
  11. Hyperledger Fabric Membership Service Providers (MSP)——成员服务
  12. [Luogu 3389]【模板】高斯消元法
  13. 【Unity游戏开发】浅谈Lua和C#中的闭包
  14. Flutter 实现原理及在马蜂窝的跨平台开发实践
  15. echarts 图表重新加载,原来的数据依然存在图表上
  16. Dapper.net 输出存储过程实例
  17. 编译搭建lnmp+zabbix
  18. Boost学习-Linuxidc上的很好的学习资料
  19. learn the python the hard way习题11~17总结
  20. L1-028. 判断素数

热门文章

  1. ASP.NET MVC View使用Conditional compilation symbols
  2. jQuery:find()方法与children()方法的区别
  3. cadence allegro 封装产考原点修改
  4. Spring加载xsd文件报错:because 1) could not find the document; 2) the document could not be read...
  5. mui+vue+photoclip做APP头像裁剪上传
  6. Ubuntu安装配置MySQL数据库,Apache,PHP
  7. 【巷子】---json-server---基本使用
  8. ELK之Logstash使用useragent获取浏览器版本、型号以及系统版本
  9. 字符串匹配 扩展KMP BM&Sunday
  10. VMware esxi 5.5装机方案