SQL 存储过程笔记

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  事务回滚
相关文章
相关标签/搜索