use stuDB go create table bank( customerName char(10), currentMoney Money ) alter table bank add constraint ck_currentMoney check(currentMoney>=1) select * from bank insert into bank (customerName,currentMoney) select '张三',100 union all select '李四',200 update bank set currentMoney=currentMoney+10 where customerName='张三' update bank set currentMoney=currentMoney-10 where customerName='李四' go --银行转账事务 select * from bank begin transaction set nocount on declare @errorsum int set @errorsum=0 update bank set currentMoney=currentMoney-100 where customerName='张三' set @errorsum=@errorsum+@@error update bank set currentMoney=currentMoney+100 where customerName='李四' set @errorsum=@errorsum+@@error select * from bank if @errorsum<>0 begin print '交易失败,回滚事务' rollback transaction end else begin print '交易成功,提交事务' commit transaction end go select * from bank print @@version
实例 银行 存支 业务
--存储过程事务实现存支 create procedure proc_takeMoney @card varchar(18),@m money,@type char(5),@inputPass char(6)='' as if exists(select cardID,pass from cardInfo where cardID=@card and pass=@inputPass) begin declare @cID int declare @yuE money declare @errorsum int set @errorsum=0 begin transaction set nocount on select @cID=customerID, @yuE=balance from cardInfo where cardID=@card if(@yuE<@m) begin set @errorsum=@errorsum+1 print '账户余额'+cast(@yuE as char)+'元'+'不能超额支取' end insert into transInfo(customerID,transDate,cardID,transType,transMoney) values(@cID,getDate(),@card,@type,@m) set @errorsum=@errorsum+@@error if(@type='支取') update cardInfo set balance=balance-@m where cardID=@card else update cardInfo set balance=balance+@m where cardID=@card set @errorsum=@errorsum+@@error if(@errorsum<>0) rollback transaction else commit transaction end go --执行存储过程 exec proc_takeMoney '1010357612121131',10,'支取','000001' exec proc_takeMoney '1010357612121131',20,'存入','000001' exec proc_takeMoney '1010357612121131',220,'支取','000001' delete transInfo where transMoney=20 update cardInfo set balance=210 where balance=330
相关推荐
在ASP中实现SQL事务处理,一般步骤如下: 1. 打开数据库连接: ```vbscript Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=SQLOLEDB;Data Source=<数据库服务器>;Initial Catalog=...
在本"SQL事务处理代码共享"资源中,我们重点关注如何在实际编程中实现SQL事务。通过分析其中的"bank"文件,我们可以了解到与银行交易相关的事务处理机制,这是数据库操作中的核心概念。 事务处理通常包含四个基本...
该文档从sqlserver事务讲起,详述ACID,@@trancount,在嵌套事务中使用保存点,命名事务等
在SQL Server中,事务处理是数据库操作的核心组成部分,它确保数据的一致性和完整性。事务是一组逻辑操作,这些操作被视为单个单元,要么全部完成,要么全部回滚,以维护数据库的ACID(原子性、一致性、隔离性和持久...
在SQL Server中,事务是确保数据一致性的重要机制,特别是在存储过程中。存储过程是一组预编译的SQL语句,可以在数据库中被多次调用,提高了效率并降低了网络流量。本篇将详细介绍如何在SQL Server存储过程中使用...
在SQL Server中,事务是数据库操作的基本单位,用于确保数据的一致性和完整性。事务处理是数据库管理系统中的核心功能,它允许我们对一系列SQL语句进行原子性操作,即这些操作要么全部执行,要么全部不执行。这篇...
SQL事务是数据库操作的重要概念,用于确保一组数据库操作要么全部成功,要么全部失败,以保持数据的一致性和完整性。 本实例是关于在ASP.NET中使用C#处理SQL事务的一个简单示例,非常适合初学者学习。在实际应用中...
每个 SQL Server 数据库都有事务日志,用于记录所有事务以及每个事务所做的数据库修改。 你是否想读取和分析SQL Server日志文件 (.ldf) ?正找不到合适的软件呢?以上一款强大的sql数据库日志分析工具,可以轻松打开...
在SQL Server数据库管理系统中,事务日志是记录所有数据库更改操作的重要组件,它对数据库的稳定性和可恢复性起着至关重要的作用。本篇将深入探讨SQL Server事务日志的原理,以及如何利用`fn_dblog`这个系统存储过程...
SQL Server中的事务日志是数据库管理系统的关键组成部分,它在确保数据的持久性和事务一致性方面扮演着核心角色。事务日志的物理结构主要由虚拟日志文件(Virtual Log Files, VLFs)组成,这些文件是日志文件的逻辑...
### SQL Server 2000 事务处理详解 #### 一、事务概念及重要性 在数据库管理系统(DBMS)中,事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作。如果这些操作中的一个失败,则整个事务将被回滚以确保...
这篇博客“事务管理(二)——SQL SERVER的事务管理”可能详细介绍了SQL Server如何处理事务,包括事务的特性、隔离级别以及如何处理事务中的并发问题,如死锁。 首先,事务有四个基本特性,即原子性(Atomicity)...
在SQL Server数据库管理系统中,事务和游标是两个非常重要的概念,它们对于数据操作和处理具有深远的影响。本文将深入探讨这两个主题,并解释如何利用它们解决日常数据库管理中遇到的复杂问题。 首先,我们来谈谈...
### 多行SQL导入ACCESS事务的代码写法 #### 知识点概述 本文档将详细介绍如何使用ADO(ActiveX Data Objects)技术结合事务处理功能,实现多行数据的高效导入到Microsoft Access数据库中的方法。在开发过程中,...
### SQL数据库事务处理详解 #### 一、事务基础概念 在多用户并行访问的数据库环境中,为了确保数据的一致性和完整性,SQL Server 使用了一种称为“事务”的机制。事务可以被视为一系列操作的集合,这些操作作为一...
在SQL Server数据库管理系统中,事务是一种非常重要的概念,它保证了数据库操作的完整性和一致性。本章节的内容主要围绕事务、游标和锁三个数据库操作相关的知识点进行展开,目的是帮助读者深入理解这三个概念,并...
Sql Server数据库事务介绍 Sql Server数据库事务是指在数据库中的一系列操作Either成功或失败的操作单元。事务可以保证数据库的数据一致性和完整性。在Sql Server中,事务可以通过Sql语句、SqlTransaction和...
在SQL Server 2000中,事务管理是数据库系统中至关重要的部分,因为它涉及到数据的一致性、完整性和并发控制。本篇将深入探讨SQL Server 2000的事务机制,帮助你全面理解并掌握如何在多用户环境下有效地处理数据并发...
在 Delphi 这样的集成开发环境中,与 SQL Server 数据库进行交互时,事务处理尤为重要。本篇将深入探讨 Delphi 配合 SQL Server 实现事务处理的相关知识点,并通过实例来演示如何在 Delphi 应用程序中运用。 首先,...
SQLServer数据库事务分匹数据