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

2016-01-29 16:15 30 1 收藏

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

【 tulaoshi.com - SQLServer 】

  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 联机手册获取更多信息。
 

来源:http://www.tulaoshi.com/n/20160129/1498038.html

延伸阅读
标签: SQLServer
很多时候我们都需要覆制某 Table 的结构,而使用 SQL Server 的话当然可以找 Enterprise Manager 来解决这问题,但在操作上老是感到比较烦覆。 其实我只需要一句 SQL 语言便能较易地覆制 Table 的结构,例如我们要覆制 Orders 到 OrderHistory 的语法如下: SELECT * INTO OrderHistory FROM Orders WHERE 0 = 1 由於 0 永远都不会等於 1 ...
标签: ASP
五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQ...
标签: Web开发
看到这样一串代码: SCRIPT type=text/JavaScript !--//--![CDATA[//!-- var spaceStaticData={               style: '/style/common/',         hostId: 2241772,      &...
1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据划分为多个分组; 4、使用聚集函数进行计算; 5、使用having子句筛选分组; 6、计算所有的表达式; 7、使用order by对结果集进行排序。 举例说明: 在学生成绩表中 (暂记为 tb_Grade), 把 "考生姓名"内容不为空的记录按照 "考...

经验教程

387

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部