您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

使用SQL Server查询语句中的锁

添加时间:2012-5-30  添加: admin 

WITH NOLOCK 除了本身不锁表(不加任何锁) 也不会受其他的已存在的锁影响,锁住的行数据也照样读

个人认为这句话说得很清楚明了,一句话就能说明白的事

不过好奇怪的是程序员经常用这个语句竟然也不去试一下

这里顺便总结一下 其他的 SQLSERVER 中的 with锁级别

WITH NOLOCK:无锁
WITH HOLDLOCK:挂一个保持锁
WITH UPDLOCK:挂一个更新锁
WITH XLOCK:挂一个排他锁
需要注意的是 with nolock 是不能用于update,delete insert  这种更新语句的,说绕了。简单的说 with nolock 只能用于select

例如:update dbo.test with(NOLOCK) set username='wokofo'  --这样的语句是错误的

弹回:INSERT、UPDATE、DELETE 或 MERGE 语句的目标表不允许使用 NOLOCK 和 READUNCOMMITTED 锁提示。

实际使用:

select top 10 * from dbo.test with(NOLOCK) select top 10 * from dbo.test with(HOLDLOCK) select top 10 * from dbo.test with(XLOCK) select top 10 * from dbo.test with(UPDLOCK)     update dbo.test with(HOLDLOCK) set username='wokofo' update dbo.test with(XLOCK) set username='wokofo' update dbo.test with(UPDLOCK) set username='wokofo'

关键字:SQL Server、查询、语句、锁

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站