SQL Server一一了解事务

        事务由多个单独操作甚至其他事务构成,对于多个相关的操作或是当多个用户并发更新数据库时,事务是维护数据完整性所必备的。

1. 事务的概念

      事务是一组被当作一个单元执行的操作,它们在执行时要么全部成功,要么全部失败。

2. 何时使用事务

     <1>. 在批处理过程中,必须把多个行作为一个单元插入,更新或删除。

     <2>. 只要一个表发生了变化,就需要其他表与它同步。

     <3>. 同时修改两个或多个数据库中的数据。

     <4>. 在分布式事务中,在不同服务器上操作数据库中的数据。

3. 理解ACID属性

     事务有4个属性,常称为ACID属性:原子性(Atomicity),一致性(Consistency),孤立性(Isolation)和持续性(Durability)。

4. 事务设计

     事务设计的目的就是定义和归档数据库系统所需的高级事务特征,包括如下内容:

     <1>. 事务需要的数据

     <2>. 事务的功能性特征

     <3>. 事务的输出

     <4>. 对用户的重要性

     <5>. 期望的利用率

     有以下3种主要类型的事务:

     检索事务:从屏幕上的显示检索数据。

     更新事务:在数据库中插入新的记录,删除旧的记录或修改现有记录。

     混合事务:涉及检索数据和更新数据。

5. 事务状态

     活动:初始

     部分提交:最后一条语句执行后

     失败:正常执行不能继续

     终止:事务回滚,一切回到事务执行之前

     提交:

6. 如何编写事务

    在SQL Server中使用下面3个T-SQL语句控制事务。

    BEGIN TRANSACTION:表示事务的开始。

    COMMIT TRANSACTION:表示事务成功结束,告知数据库保存所做的工作。

    ROLLBACK TRANSACTION:表示事务不成功,告知数据库回滚到开始事务以前的状态。

注意:这里没有END TRANSACTION语句。事务是以(显示或隐式)提交和回滚结束的。

(1)创建父子关系

插入数据:

现在就有了很好的父子关系,在Person表和PersonDetails表中有了两个父记录和两个匹配的子记录。

(2)用T-SQL编写事务

子表或外键表包含的记录必须匹配父表或主键表中已有的主键列值。

创建一个名为sp_Trans_Test的存储过程。

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值