偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL語(yǔ)句中的鎖定語(yǔ)句

數(shù)據(jù)庫(kù) SQL Server
下面就將為您詳細(xì)介紹SQL語(yǔ)句中的鎖定語(yǔ)句的用法,供您參考,如果您對(duì)數(shù)據(jù)庫(kù)的表鎖定感興趣,不妨一看,相信會(huì)對(duì)您有所幫助。

數(shù)據(jù)庫(kù)的表鎖定是一個(gè)常用的操作,SQL語(yǔ)句中的鎖定語(yǔ)句應(yīng)該如何書寫呢?下面就將為您詳細(xì)介紹SQL語(yǔ)句中的鎖定語(yǔ)句的用法。

鎖定數(shù)據(jù)庫(kù)的一個(gè)表

SELECT * FROM table WITH (HOLDLOCK)

注意: 鎖定數(shù)據(jù)庫(kù)的一個(gè)表的區(qū)別

SELECT * FROM table WITH (HOLDLOCK)

其他事務(wù)可以讀取表,但不能更新刪除

SELECT * FROM table WITH (TABLOCKX)

其他事務(wù)不能讀取表,更新和刪除

SELECT 語(yǔ)句中“加鎖選項(xiàng)”的功能說(shuō)明

SQL Server提供了強(qiáng)大而完備的鎖機(jī)制來(lái)幫助實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的并發(fā)性和高性能。用戶既能使用SQL Server的缺省設(shè)置也可以在select 語(yǔ)句中使用“加鎖選項(xiàng)”來(lái)實(shí)現(xiàn)預(yù)期的效果。 本文介紹了SELECT語(yǔ)句中的各項(xiàng)“加鎖選項(xiàng)”以及相應(yīng)的功能說(shuō)明。

功能說(shuō)明: 

NOLOCK(不加鎖)

此選項(xiàng)被選中時(shí),SQL Server 在讀取或修改數(shù)據(jù)時(shí)不加任何鎖。 在這種情況下,用戶有可能讀取到未完成事務(wù)(Uncommited Transaction)或回滾(Roll Back)中的數(shù)據(jù), 即所謂的“臟數(shù)據(jù)”。

HOLDLOCK(保持鎖)

此選項(xiàng)被選中時(shí),SQL Server 會(huì)將此共享鎖保持至整個(gè)事務(wù)結(jié)束,而不會(huì)在途中釋放。

UPDLOCK(修改鎖)

此選項(xiàng)被選中時(shí),SQL Server 在讀取數(shù)據(jù)時(shí)使用修改鎖來(lái)代替共享鎖,并將此鎖保持至整個(gè)事務(wù)或命令結(jié)束。使用此選項(xiàng)能夠保證多個(gè)進(jìn)程能同時(shí)讀取數(shù)據(jù)但只有該進(jìn)程能修改數(shù)據(jù)。

TABLOCK(表鎖) #p#

此選項(xiàng)被選中時(shí),SQL Server 將在整個(gè)表上置共享鎖直至該命令結(jié)束。 這個(gè)選項(xiàng)保證其他進(jìn)程只能讀取而不能修改數(shù)據(jù)。

PAGLOCK(頁(yè)鎖)

此選項(xiàng)為默認(rèn)選項(xiàng), 當(dāng)被選中時(shí),SQL Server 使用共享頁(yè)鎖。

TABLOCKX(排它表鎖)

此選項(xiàng)被選中時(shí),SQL Server 將在整個(gè)表上置排它鎖直至該命令或事務(wù)結(jié)束。這將防止其他進(jìn)程讀取或修改表中的數(shù)據(jù)。


HOLDLOCK 持有共享鎖,直到整個(gè)事務(wù)完成,應(yīng)該在被鎖對(duì)象不需要時(shí)立即釋放,等于SERIALIZABLE事務(wù)隔離級(jí)別

NOLOCK 語(yǔ)句執(zhí)行時(shí)不發(fā)出共享鎖,允許臟讀 ,等于 READ UNCOMMITTED事務(wù)隔離級(jí)別

PAGLOCK 在使用一個(gè)表鎖的地方用多個(gè)頁(yè)鎖

READPAST 讓sql server跳過(guò)任何鎖定行,執(zhí)行事務(wù),適用于READ UNCOMMITTED事務(wù)隔離級(jí)別只跳過(guò)RID鎖,不跳過(guò)頁(yè),區(qū)域和表鎖

ROWLOCK 強(qiáng)制使用行鎖

TABLOCKX 強(qiáng)制使用獨(dú)占表級(jí)鎖,這個(gè)鎖在事務(wù)期間阻止任何其他事務(wù)使用這個(gè)表

UPLOCK 強(qiáng)制在讀表時(shí)使用更新而不用共享鎖

注意: 鎖定數(shù)據(jù)庫(kù)的一個(gè)表的區(qū)別

SELECT * FROM table WITH (HOLDLOCK) 其他事務(wù)可以讀取表,但不能更新刪除

SELECT * FROM table WITH (TABLOCKX) 其他事務(wù)不能讀取表,更新和刪除
 

 

【編輯推薦】

對(duì)SQL Server中任意select語(yǔ)句分頁(yè)的存儲(chǔ)過(guò)程

為您講解SQL的SELECT語(yǔ)句

sql server增加及刪除約束的方法

使用SQL語(yǔ)句刪除SQL服務(wù)器注冊(cè)

SQL非正常刪除日志文件的恢復(fù)方法講解

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-03 14:39:15

SQLSELECT語(yǔ)句

2010-09-03 14:47:50

SQLSELECT語(yǔ)句

2010-09-03 11:25:58

SQL刪除

2010-09-17 16:03:17

鎖定SQL表

2010-09-07 13:41:50

SQL語(yǔ)句

2010-09-07 16:38:36

SQL語(yǔ)句SELECT DIST

2010-04-13 14:43:37

Oracle性能檢測(cè)

2010-09-07 14:56:49

SQL語(yǔ)句CASE WHEN

2010-09-07 10:19:31

SQL語(yǔ)句

2010-09-06 09:11:24

SQLUPDATE語(yǔ)句

2011-09-08 16:30:59

SQL Server查詢

2022-03-23 14:04:32

SQL字符串數(shù)據(jù)類型

2022-05-19 23:40:34

SQL語(yǔ)句引號(hào)

2009-04-28 09:38:53

SQL優(yōu)化物理查詢

2010-09-07 16:51:22

SQL語(yǔ)句表達(dá)式

2021-02-25 09:35:32

語(yǔ)句elsePython

2010-11-25 15:57:49

mysql查詢語(yǔ)句

2024-01-03 17:42:32

SQL數(shù)據(jù)庫(kù)

2010-06-11 17:36:46

MySQL語(yǔ)句

2023-03-30 09:10:06

SQLSELECTFROM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)