国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

實(shí)用的銀行轉(zhuǎn)賬存儲(chǔ)過程和流水號(hào)生成存儲(chǔ)過程

2020-07-25 12:50:22
字體:
供稿:網(wǎng)友

銀行轉(zhuǎn)賬存儲(chǔ)過程

USE [BankInfor]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER 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'轉(zhuǎn)出賬戶不存在或賬戶中沒有存款'  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'轉(zhuǎn)賬成功!'  commit;  end;

流水號(hào)生成存儲(chǔ)過程

if exists(select 1 from sysobjects where id=OBJECT_ID('GetSerialNo') and xtype='p')drop proc GetSerialNogoCreate procedure [dbo].[GetSerialNo]  (    @sCode varchar(50)  )  as begin  Declare @sValue varchar(16),@dToday  datetime,@sQZ varchar(50) --這個(gè)代表前綴   Begin Tran     Begin Try     -- 鎖定該條記錄,好多人用lock去鎖,起始這里只要執(zhí)行一句update就可以了   --在同一個(gè)事物中,執(zhí)行了update語句之后就會(huì)啟動(dòng)鎖   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       --如果日期不相等,則先賦值日期,流水號(hào)從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 SerialNoselect convert(varchar(6), getdate(), 12)+'000001'
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临漳县| 宁河县| 孟村| 芜湖市| 通州区| 普宁市| 和林格尔县| 葵青区| 宁强县| 犍为县| 廉江市| 德安县| 浮山县| 紫阳县| 吉水县| 东光县| 石狮市| 汝城县| 尖扎县| 亚东县| 锡林浩特市| 宝应县| 民权县| 温州市| 交口县| 阿合奇县| 甘德县| 正阳县| 拜泉县| 留坝县| 北流市| 乌拉特前旗| 陵川县| 天水市| 囊谦县| 旅游| 岳普湖县| 长宁区| 方山县| 宁晋县| 类乌齐县|