银行转账存储过程
USE [BankInfor] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Transfer](@inAccount int,@outAccount int,@amount float) as declare @totalDeposit float; begin select @totalDeposit=total from Account where AccountNum=@outAccount; if @totalDeposit is null begin rollback; print'转出账户不存在或账户中没有存款' return; end if @totalDeposit<@amount begin rollback; print'余额不足,不能操作' return; end update Account set total=total-@amount where AccountNum=@outAccount; update Account set total=total+@amount where AccountNum=@inAccount; print'转账成功!' commit; 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'
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“实用的银行转账存储过程和流水号生成存储过程”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
20240518
20240518
- 张琍敏2006-金鼎奖系列14[台湾版]CD1[WAV+CUE]
- 林一峰2008-城市旅人[香港首版][WAV+CUE]
- 群星1990-六个梦电视原声带[日本版][WAV+CUE]
- [In-Akustik7801]KissedByASong-《Dynaudio丹拿发烧示范盘》(2014)HQCD[WAV+CUE]
- 群星《17号音乐仓库2 第10期》[320K/MP3][66.53MB]
- 群星《17号音乐仓库2 第10期》[FLAC/分轨][163.67MB]
- 宝丽金50周年《古典篇》3CD限定盘[低速原抓WAV+CUE][1.8G]
- 群星.1986-新格名曲精选-歌3【新格】【WAV+CUE】
- 【ABC唱片】徐刚《独步外滩SACD》ISO+WAV分轨
- 刘月宁《扬琴独奏-木兰辞变奏曲》[FLAC+CUE]
- 陈奕迅《48首选》[WAV分轨][1.8G]
- 林忆莲《陪着我走》 SACD DSD64[DSF][1.1G]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 刘欢范琳琳.1988-信天游迪斯科(TP版)【内蒙古音像】【WAV+CUE】
- 群星-真声音真音乐[WAV+CUE]