C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月3日

摘要: 锁是一种防止在某对象执行动作的一个进程与已在该对象上执行的其他进行相冲突的机制。也就是说,如果有其他人在操作某个对象,那么你旧不能在该对象上进行操作。你能否执行操作取决于其他用户正在进行的操作。通过锁可以防止的问题 锁可以解决以下4种主要问题:脏读非重复性读取幻读丢失更新 1、脏读 如果一个事务读取的记录是另一个未完成事务的一部分,那么这时就发生了脏读。如果第一个事务正常完成,那么就有什么问题。但是,如果前一个事务回滚了呢,那将从数据库从未发生的事务中获取了信息。 2、非重复性读取 很容易将非重复性读取和脏读混淆。如果一个事务中两次读取记录,而另一个事务在这期间改变了数据,就会... 阅读全文
posted @ 2013-07-03 18:11 逆心 阅读(4344) 评论(0) 推荐(0) 编辑

摘要: 事务全部是关于原子性的。原子性的概念是指可以把一些事情当做一个单元来看待。从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合。 为了理解事务的概念,需要能够定义非常明确的边界。事务要有非常明确的开始和结束点。SQL Server中的每一条SELECT、INSERT、UPD... 阅读全文
posted @ 2013-07-03 16:42 逆心 阅读(65454) 评论(5) 推荐(15) 编辑

摘要: 一、表变量 表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用)。定义表变量的语句是和正常使用Create Table定义表语句的子集。只是表变量通过DECLARE @local_variable语句进行定义。 表变量的特征:表变量拥有特定作用域(在当前批处理语句中,但不在任何当前批处理语句调用的存储过程和函数中),表变量在批处理结束后自动被清除。表变量较临时表产生更少的存储过程重编译。针对表变量的事务仅仅在更新数据时生效,所以锁和日.. 阅读全文
posted @ 2013-07-03 14:43 逆心 阅读(69363) 评论(9) 推荐(15) 编辑