SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET XACT_ABORT ON
BEGIN TRYEND TRY
BEGIN CATCH
END CATCH
1.SET NOCOUNT ON
當 SET NOCOUNT 爲 ON 時,不返回計數(表示受 Transact-SQL 語句影響的行數)。當 SET NOCOUNT 爲 OFF 時,返回計數。
2.SET TRANSACTION ISOLATION LEVEL READ 語法有四種狀況
第一種狀況:
READ COMMITTED
這句的做用是:
指定在讀取數據時控制共享鎖以免髒讀,但數據可在事務結束前更改,從而產生不可重複讀取或幻像數據。該選項是 SQL Server 的默認值。
第二種狀況:
READ UNCOMMITTED
這句的做用是:
執行髒讀或0級隔離鎖定,這表示不發出共享鎖,也不接受排它鎖。當設置該選項時,能夠對數據執行未提交讀或髒讀;在事務結束前能夠更改數據內的數值,行也能夠出如今數據集中或從數據集消失。該選項的做用與在事務內全部語句中的全部表上設置 NOLOCK 相同。這是四個隔離級別中限制最小的級別。
第三種狀況:
REPEATABLE READ
這句的做用是:
鎖定查詢中使用的全部數據以防止其餘用戶更新數據,可是其餘用戶能夠將新的幻像行插入數據集,且幻像行包括在當前事務的後續讀取中。由於併發低於默認隔離級別,因此應只在必要時才使用該選項。
第四種狀況:
SERIALIZABLE
這句的做用是:
在數據集上放置一個範圍鎖,以防止其餘用戶在事務完成以前更新數據集或將行插入數據集內。這是四個隔離級別中限制最大的級別。由於併發級別較低,因此應只在必要時才使用該選項。該選項的做用與在事務內全部 SELECT 語句中的全部表上設置 HOLDLOCK 相同。
3.SET XACT_ABORT ON 事務回滾