收藏 分销(赏)

数据库事务实例.doc

上传人:pc****0 文档编号:8624780 上传时间:2025-02-22 格式:DOC 页数:3 大小:27KB
下载 相关 举报
数据库事务实例.doc_第1页
第1页 / 共3页
数据库事务实例.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述
什么是数据库事务? 数据库事务是指作为单个逻辑工作单元执行的一系列操作。具体表现为:可以将几个sql语句作为一个整体来执行,这些sql语句当有一条执行出错时,那么所有的sql语句都将执行失败。也就是这些sql语句作为一个整体,要么全部执行成功,要么全部执行失败。使用事务能便于恢复数据,保证数据的一致性。 一 事务的属性 事务具有ACID属性 即 Atomic原子性, Consistent一致性, Isolated隔离性, Durable永久性 原子性 就是事务应作为一个工作单元,事务处理完成,所有的工作要么都在数据库中保存下来,要么完全回滚,全部不保留 一致性 事务完成或者撤销后,都应该处于一致的状态。 隔离性 多个事务同时进行,它们之间应该互不干扰。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。 永久性 事务提交以后,所做的工作就被永久的保存下来 事务实例: create procedure TransferMoeny (     @FromAccountNo varchar(50),-- 转出账号     @ToAccountNo varchar(50),--转入账号     @MoneyCount money--转账金额 ) as --判断账号是否存在 if exists (select 1 from 帐户表 where 账号 = @FromAccountNo)  begin     if exists (select 1 from 帐户表 where 账号 = @ToAccountNo)      begin         --判断转出金额是否大于当前余额         if (select 当前余额 from 帐户表 where 账号 = @FromAccountNo) >= @MoneyCount         begin             --开始转账             begin transaction             insert into [存取记录表] ([账号],[存取类型], [存取金额]) values(@FromAccountNo, -1,@MoneyCount)             if @@error <> 0             begin                 rollback transaction--发生错误则回滚事务,无条件退出l                 return             end                        insert into [存取记录表] ([账号],[存取类型], [存取金额]) values(@ToAccountNo, 1,@MoneyCount)             if @@error <> 0             begin                 rollback tran                 return             end             commit transaction --两条语句都完成,提交事务         end         else                 raiserror ('转账金额不能大于该账号的余额',16,1)     end     else     raiserror ('转入账号不存在',16,1) end else     raiserror ('转出账号不存在',16,1)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服