当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-01-25 23:11:00  来源:本站整理

锁定SQL表的语句[MSSQL防范]

赞助商链接



  本文“锁定SQL表的语句[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

锁定一个SQL表的语句是SQL数据库利用者都需求知道的,下面就将为您介绍锁定SQL表的语句,但愿对您学习锁定SQL表方面能有所帮忙.

锁定数据库的一个表

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 将在整个表上置排它锁直至该号令或事件完毕.这将避免其他进程读取或改正表中的数据.

HOLDLOCK 持有同享锁,直到整个事件完成,应当在被锁对象不需求时当即释放,等于SERIALIZABLE事件断绝级别

NOLOCK 语句履行时不发出同享锁,答应脏读 ,等于 READ UNCOMMITTED事件断绝级别

PAGLOCK 在利用一个表锁的地方用多个页锁

READPAST 让sql server跳过任何锁定行,履行事件,实用于READ UNCOMMITTED事件断绝级别只跳过RID锁,不跳过页,区域和表锁

ROWLOCK 强迫利用行锁

TABLOCKX 强迫利用独占表级锁,这个锁在事件期间禁止任何其他事件利用这个表

UPLOCK 强迫在读表时利用更新而不用同享锁

注意: 锁定数据库的一个表的辨别

SELECT * FROM table WITH (HOLDLOCK) 其他事件可以读取表,但不能更新删除

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

<
  以上是“锁定SQL表的语句[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 锁定SQL表的语句
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .