关键词:
1 if object_id(N‘usp_transfer‘, N‘P‘) is not null 2 drop proc usp_transfer 3 GO 4 create proc usp_transfer 5 @from char(4), ----转账人 6 @to char(4), --收账人 7 @balance money, --转账金额 8 @resultNumber int output --转账结果(1表示成功,2表示失败,3表示余额不足) 9 as 10 begin 11 --1.判断转账人余额是否足够 12 declare @money money 13 select @money = balance from bank where cid = @from 14 if(@money - @balance >= 10) 15 begin 16 --开始转账 17 begin transaction --开始事务 18 declare @sum int = 0 --用于统计错误,初始值为0 19 --2.转账人扣钱 20 update bank set balance = balance - @balance where cid = @from 21 set @sum = @sum + @@error -- 如果有错误,则错误累加 22 --3.收账人收钱 23 update bank set balance = balance + @balance where cid = @to 24 set @sum = @sum + @@error --如果有错误,则错误累加 25 --4.判断是否执行成功,进行提交或回滚 26 if @sum <> 0 27 begin 28 set @resultNumber = 2 --转账失败 29 rollback --事务回滚 30 end 31 else 32 begin 33 set @resultNumber = 1 --转账成功 34 commit --事务提交 35 end 36 end 37 else 38 begin 39 set @resultNumber = 3 --余额不足 40 end 41 end 42 go
执行
1 declare @resultN int 2 exec usp_transfer @from = ‘0001‘,@to = ‘0002‘,@balance = 900,@resultNumber = @resultN output 3 print @resultN
[hadoop3.x]银行海量转账数据分层案例(代码片段)
银行每一天都有大量的转账、交易需要保存、处理。用户每进行一笔交易或者转账,银行都需要将用户转账的所有相关信息保存下来。四大银行:银行有非常多的用户,四大银行拥有数10亿的用户。要保存的数据量可... 查看详情
手写实现自定义简易版spring(实现ioc和aop)(代码片段)
...Spring(实现IoC和AOP)源码地址点这里1、银行转账案例界面2、银行转账案例表结构3、银行转账案例代码调用关系4、银行转账案例关键代码TransferServletpackagecom.tao.servlet;importcom.tao.service.impl.TransferServiceImpl;importcom.tao.utils. 查看详情
手写实现自定义简易版spring(实现ioc和aop)(代码片段)
...Spring(实现IoC和AOP)源码地址点这里1、银行转账案例界面2、银行转账案例表结构3、银行转账案例代码调用关系4、银行转账案例关键代码TransferServletpackagecom.tao.servlet;importcom.tao.service.impl.TransferServiceImpl;importcom.tao.utils. 查看详情
领域驱动设计系列贫血模型和充血模型(代码片段)
面向过程的设计方式(贫血模型)假设现在有一个银行支付系统项目,其中的一个重要的业务用例是账户转账业务。系统使用迭代的方式进行开发,在1.0版本中,该用例的功能需求非常简单,事件流描述如下:主事件流:用户登... 查看详情
seata-分布式事务与seata(代码片段)
...的跨行转账就是一个很典型的分布式事务。现实中,每个银行各自管理各自的账户,在执行跨行转账时,需要确保转出账户扣费正确,转入账户增加正确的金额。在电子渠道上操作看着很简单,其后台需要执行分布式事务的处理... 查看详情
jdbc来操作事物完成模拟银行的转账业务(代码片段)
创建JDBC工具类1packagecn.aa4_2.JDBCUtils;234importjava.io.FileReader;5importjava.io.IOException;6importjava.net.URL;7importjava.sql.*;8importjava.util.Properties;910/**11*JDBC工具类12*/13publicclassJDBCUtils 查看详情
mysql存储过程(通俗易懂)(代码片段)
...询三、调用四、删除 五、定义变量六、给变量赋值五、案例二、参数和变量 一、参数 一、分类 二、案例 二、变量一、分类:二、定义变量 1、用户变量2、局部变量三、控制语句一、if 语法 案例二、case 语... 查看详情
mysql存储过程createprocedure存储过程名(参数列表)(代码片段)
阅读目录MySQL存储过程1创建语法2调用语法1案例演示空参列表2案例演示创建带in模式参数的存储过程3创建out模式参数的存储过程4.创建带inout模式参数的存储过程3删除存储过程4查看存储过程的信息案例应用数据表MySQL存储过程含... 查看详情
手写ioc及aop(代码片段)
...AOP:AspectorientedProgramming面向切面编程2.通过银行转账案例手写IOC和AOP2.1.表结构2.2.银行转账调用关系2.3.分析存在的问题2.4.解决问题思路2.5.通过IOC及AOP进行改造2.5.0.pom.xml2.5.1.index.xml2.5. 查看详情
数据库工程开发秘籍之tsql存储过程userstoredprocedure的概念与案例实战(代码片段)
TSQL存储过程概念与案例实战存储过程存储过程由一个或多个T-SQL语句或对.NET公共语言运行时(CLR)方法的引用所构成的一组程序块。这里的T-SQL语句包括执行DDL、DML语句、应用临时表、动态SQL、定义异常处理等。但是相比于函数... 查看详情
小练习-----银行提款机系统(代码片段)
...份证号电话号卡卡类名:Card属性:卡号密码余额行为:银行类名:bank属性:用户列表提款机提款机类名:ATM属性:用户字典行为:开户查询取款存储转账改密锁定解锁补卡销户管理员类名:admin属性:行为:管理员界面管理员... 查看详情
[终章]进阶20-流程控制结构--if/case/while结构-三个while的存储过程案例(批量生成表单数据)-随机长度的随机字符串的存储过程案例(代码片段)
1.mysql存储过程中尽量使用@变量而不用局部变量,@变量不容易报错!权限小,更改一下就报错!2.sql中判断相等‘=‘,用‘=‘不用‘==‘.3.#流程控制结构/*顺序结构:程序从上往下依次执行;分支结构:程序从多条路径中选择一条往下执行... 查看详情
取第n个排序的元素之mysql存储过程动态sqlorderbyoffset实现案例(代码片段)
Mysql动态取第N个元素简介基于mysql实现对某个表的某个字段按照顺(逆)序取第N个排序对应的元素,该语句通过存储过程结合预处理实现,也可在程序语言里通过SQL拼接实现。示例--1存储过程实现第N个元素的查询... 查看详情
mysql事务(代码片段)
一、为什么会引入事务概念在银行转账系统中进场会遇见一个现象,那便是如果A给B转账,但是转账的中间过程出了问题,导致A转账失败,但是B却得到了钱,因而出现了错误。下面使用简单的例子证明。假设... 查看详情
javaweb5.6jdbc:jdbc控制事务转账案例(代码片段)
1packagecom.yub4by.jdbc;23/*4JDBC控制事务561.事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。72.操作:81.开启事务92.提交事务103.回滚事务113.使用Connection对象来管理事... 查看详情
浅谈数据库事务(代码片段)
...并发操作数据库时,不能被其他事务的操作所干扰例小王银行卡只有200元了,他要向小李转账200元时银行方面进行银行卡的年费扣除则这两个操作必定不可能都成功。持久性持久性是指一个事务一旦提交,那么对数据库中的数据... 查看详情
mysql---存储过程(代码片段)
...的游标。第三篇单独讲一个实际开发过程中复杂的真实的案例。一、概述1、什么是存储过程概述:简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;说明:存储过程跟触发器... 查看详情
银行用户管理系统(代码片段)
文章目录前言一.功能二.代码银行卡数据转账流水数据用户数据BanksControllerUserControllerBanksDaoRecordDaoUserDaoBanksRecordUserBanksService接口UserService接口BanksServiceImplUsersServiceImplAppStar测试类ConnectMsql(JDBC连接Mysql数据库)AddBank 查看详情