实用的银行转账存储过程和流水号生成存储过程
网络编程 2021-07-05 13:43www.168986.cn编程入门
本篇文章给大家分享银行转账存储过程和流水号生成存储过程,感兴趣的朋友一起看看吧
银行转账存储过程
USE [BankInfor] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Transfer](@inAount int,@outAount int,@amount float) as declare @totalDeposit float; begin select @totalDeposit=total from Aount where AountNum=@outAount; if @totalDeposit is null begin rollback; print'转出账户不存在或账户中没有存款' return; end if @totalDeposit<@amount begin rollback; print'余额不足,不能操作' return; end update Aount set total=total-@amount where AountNum=@outAount; update Aount set total=total+@amount where AountNum=@inAount; print'转账成功!' mit; end;
流水号生成存储过程
if exists(select 1 from sysobjects where id=OBJECT_ID('GetSerialNo') and xtype='p') drop proc GetSerialNo go Create procedure [dbo].[GetSerialNo] ( @sCode varchar(50) ) as begin Declare @sValue varchar(16),@dToday datetime,@sQZ varchar(50) --这个代表前缀 Begin Tran Begin Try -- 锁定该条记录,好多人用lock去锁,起始这里只要执行一句update就可以了 --在同一个事物中,执行了update语句之后就会启动锁 Update SerialNo set sValue=sValue where sCode=@sCode Select @sValue = sValue From SerialNo where sCode=@sCode Select @sQZ = sQZ From SerialNo where sCode=@sCode -- 因子表中没有记录,插入初始值 If @sValue is null Begin Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) + '000001') Update SerialNo set sValue=@sValue where sCode=@sCode end else Begin --因子表中没有记录 Select @dToday = substring(@sValue,1,6) --如果日期相等,则加1 If @dToday = convert(varchar(6), getdate(), 12) Select @sValue = convert(varchar(16), (convert(bigint, @sValue) + 1)) else --如果日期不相等,则先赋值日期,流水号从1开始 Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) +'000001') Update SerialNo set sValue =@sValue where sCode=@sCode End Select result = @sQZ+@sValue Commit Tran End Try Begin Catch Rollback Tran Select result = 'Error' End Catch end select*from SerialNo select convert(varchar(6), getdate(), 12)+'000001'
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程