当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SELECT语句中“加锁选项”功能说明

MSSQL
SQL0290N表空间状态问题:停顿的独占处理
实例讲解启动mysql server失败的解决方法
SQL Server 2005数据转换服务设计问题集锦
不能安装SQL Server 2005的问题及解决方法
SQL中Groupby和Having的使用方法
SQL Server中Update的用法
MSSQL中部分字段重复数据的删除方法
mssql 大小写区分方法
Sql server中时间查询的一个比较快的语句
机器异常关闭重起后出现ora-19809错误
快速解决日志文件满造成的无法写入问题
启用数据库复制时为什么会出现18483错误
实例讲解Ora-12514和Ora-12514解决方法
实例讲解MSDB数据库置疑状态的解决方法
实例讲解SQL查询连续号码段的巧妙解法
用一个案例讲解应用程序越来越慢的原因
一则DB2数据库重定向表空间的恢复案例
SCN不一致将会导致ORA-00600 2662错误
Vista下安装SQL Sever 2005报错的解决办法
用一条SQL实现:一行多个字段数据的最大值

MSSQL 中的 SELECT语句中“加锁选项”功能说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 128 ::
收藏到网摘: n/a

  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 将在整个表上置排它锁直至该命令或事务结束。这将防止其他进程读取或修改表中的数据。

使用这些选项将使系统忽略原先在SET语句设定的事务隔离级别(Transaction Isolation Level)。 请查阅SQL Server 联机手册获取更多信息。