麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

實用的銀行轉賬存儲過程和流水號生成存儲過程

2024-08-31 01:03:15
字體:
來源:轉載
供稿:網友

本篇文章給大家分享銀行轉賬存儲過程和流水號生成存儲過程,感興趣的朋友一起看看吧

銀行轉賬存儲過程

 

 
  1. USE [BankInfor] 
  2. GO 
  3. SET ANSI_NULLS ON 
  4. GO 
  5. SET QUOTED_IDENTIFIER ON 
  6. GO 
  7. ALTER PROCEDURE [dbo].[Transfer](@inAccount int,@outAccount int,@amount float
  8. as declare 
  9. @totalDeposit float
  10. begin 
  11. select @totalDeposit=total from Account where AccountNum=@outAccount; 
  12. if @totalDeposit is null 
  13. begin 
  14. rollback; 
  15. print'轉出賬戶不存在或賬戶中沒有存款' 
  16. return
  17. end 
  18. if @totalDeposit<@amount 
  19. begin 
  20. rollback; 
  21. print'余額不足,不能操作' 
  22. return
  23. end 
  24. update Account set total=total-@amount where AccountNum=@outAccount; 
  25. update Account set total=total+@amount where AccountNum=@inAccount; 
  26. print'轉賬成功!' 
  27. commit; 
  28. end; 

流水號生成存儲過程

 

 
  1. if exists(select 1 from sysobjects where id=OBJECT_ID('GetSerialNo') and xtype='p'
  2. drop proc GetSerialNo 
  3. go 
  4. Create procedure [dbo].[GetSerialNo]  
  5. (  
  6. @sCode varchar(50)  
  7. )  
  8. as 
  9. begin 
  10. Declare @sValue varchar(16),@dToday datetime,@sQZ varchar(50) --這個代表前綴  
  11. Begin Tran  
  12. Begin Try  
  13. -- 鎖定該條記錄,好多人用lock去鎖,起始這里只要執行一句update就可以了  
  14. --在同一個事物中,執行了update語句之后就會啟動鎖  
  15. Update SerialNo set sValue=sValue where sCode=@sCode  
  16. Select @sValue = sValue From SerialNo where sCode=@sCode  
  17. Select @sQZ = sQZ From SerialNo where sCode=@sCode  
  18. -- 因子表中沒有記錄,插入初始值  
  19. If @sValue is null 
  20. Begin 
  21. Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) + '000001')  
  22. Update SerialNo set sValue=@sValue where sCode=@sCode  
  23. end else 
  24. Begin --因子表中沒有記錄  
  25. Select @dToday = substring(@sValue,1,6)  
  26. --如果日期相等,則加1  
  27. If @dToday = convert(varchar(6), getdate(), 12)  
  28. Select @sValue = convert(varchar(16), (convert(bigint, @sValue) + 1))  
  29. else --如果日期不相等,則先賦值日期,流水號從1開始  
  30. Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) +'000001')  
  31. Update SerialNo set sValue =@sValue where sCode=@sCode  
  32. End 
  33. Select result = @sQZ+@sValue  
  34. Commit Tran  
  35. End Try  
  36. Begin Catch  
  37. Rollback Tran  
  38. Select result = 'Error' 
  39. End Catch  
  40. end 
  41. select*from SerialNo 
  42. select convert(varchar(6), getdate(), 12)+'000001' 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99在线热视频 | 免费在线观看国产 | 最新一区二区三区 | av之家在线观看 | 久久久久九九九女人毛片 | 色网站免费观看 | 日本a∨精品中文字幕在线 欧美1—12sexvideos | 毛片中文字幕 | 欧美一级特黄a | 日韩做爰视频免费 | 免费在线观看国产精品 | 成人 精品 | 神马顶级推理片免费看 | 国产福利视频在线观看 | 国产精品自拍啪啪 | 欧美成人高清在线 | 亚洲国产精品高潮呻吟久久 | 黄在线免费 | 亚洲成在人 | 美女久久久久久久久 | 中国女警察一级毛片视频 | 成人一级视频在线观看 | 日韩视频一区二区三区在线观看 | 欧产日产国产精品v | 手机在线看片国产 | 草碰人人 | 国产精品午夜未成人免费观看 | 国产在线观看av | 成人毛片在线免费看 | 中文字幕在线观看精品 | 91色综合综合热五月激情 | 国产美女爽到喷白浆的 | 欧美成人理论片乱 | av在线等 | 97久久日一线二线三线 | 国产无限资源在线观看 | 日日草日日干 | 狠狠干天天操 | 被啪羞羞视频在线观看 | 免费a级片视频 | 色视频一区二区 |