end end
5.4.3 获取密码存储过程 功能:获取密码
目的:能使客户获取密码
意义:是有效地保护密码不被盗取
代码:
create procedure get_pass----------创建获取密码存储过程 (
@cardID varchar(20) ) as
declare @pass char(6) begin
if not exists(select * from cardinfo where cardID=@cardID) print'该卡号不存在' else begin
select @pass=pass from cardinfo where @cardID=cardID print '卡号:'+convert(varchar(30),@cardID) +'密码:'+convert(varchar(15),@pass)
end
end
5.4.4 修改密码存储过程 功能:修改密码
目的:使客户能使用旧密码修改新密码 意义:更加人性化地修改密码 代码:
create procedure update_pass----------创建修改密码存储过程 (
@cardID varchar(20), @1pass varchar(6), @2pass varchar(6) ) as
if not exists(select *from cardInfo where cardId=@cardId)
print '您输入的账号不存在'
else if(@1pass!=(select pass from cardInfo where cardID=@cardID)) print '原密码输入错误。' else begin
print '输入新密码。'
update cardinfo set pass=@2pass where cardID=@cardID;
11
end
5.4.5 挂失存储过程
功能:实现银行卡挂失功能
目的:银行卡丢失或密码忘记使银行卡挂失 意义:更好地保护客户信息
代码:
create procedure update_IsReportLoss----------创建挂失存储过程 (@customerID varchar(20), @cardID varchar(20), @PID char(18) ) as
declare @IsReportLoss char(8) begin
if not exists(select *from cardInfo where customerID=@customerID) print '您输入的顾客编号不存在'
else if(@PID!=(select PID from userinfo where @customerID=customerID)) print'身份证错误,不能挂失。'
else if((select cardID from cardinfo where @customerID=customerID)!=@cardID) print'卡号错误,不能挂失。'
else if((select IsReportLoss from cardinfo where @customerID=customerID)='是')
print'卡号已挂失,不用挂失。' else begin
update cardinfo set IsReportLoss='是' where cardID=@cardID; end end
5.4.6 催款提醒存储过程 功能:催款提醒
目的:银行能根据存款信息返回客户信息以提醒客户存款 意义:能有利于银行管理客户银行卡信息
代码:
create procedure pro_ckts----------创建催款提醒存储过程 (
@cardID char(30) ) as
declare @balance money,@telephone char(15), @customerID int begin
if((select balance from cardInfo where cardID=@cardID)>100) print '该帐户不需要提醒' else
12
begin
select @balance =balance from cardInfo where cardID=@cardID
select @customerID=customerID from cardinfo where cardID=@cardID select @telephone =telephone from userinfo where customerID=@customerID print '业务员提醒该帐户余额不足100元'
print '卡号:'+convert(varchar(30),@cardID)+'余额:'+convert(varchar(20),@balance) +'电话:'+convert(varchar(15),@telephone) end end
5.4.7 统计银行的资金流通余额和盈利结算 功能:计算银行盈利额
目的:统计银行的资金流通余额和盈利结算 意义:为银行提供盈利信息
代码:
create procedure proc_money ----------创建计算银行盈利额存储过程 as
declare @1money money,@2money money,@t money ,@d money
select @1money = SUM(transMoney) from transinfo where transType ='存入' select @2money = SUM(transMoney) from transinfo where transType ='支取' set @t=@1money -@2money
set @d=0.008*@2money -0.003*@1money
print '资金流通余额:'+convert(varchar(20),@t)+'盈利结算:'+convert(varchar(10),@d)
5.4.8 创建存钱和取钱的存储过程 功能:存钱和取钱
目的:进行客户与银行间的交易
意义:能使客户更好地管理自己的金钱
代码:
create procedure proc_takeMoney ----------创建取款存储过程 (
@cardID varchar(20), @pass varchar(6), @money Money ) as
declare @balance money,@IsReportLoss char(8) begin
if not exists(select *from cardInfo where cardId=@cardId) print '您输入的账号不存在'
else if((select pass from cardInfo where cardID=@cardID)!=@pass) print '密码不正确。'
else if((select IsReportLoss from cardInfo where cardID=@cardID)='是') print '卡已挂失, 交易不能进行。' else if( @balance-@money < 0)
13
print '交易失败,余额不足。'
else if(convert(int,@money )0!=0)
print '本柜员机只提供面值100元的纸币,取款金额为100的整数倍。' else if((select balance from cardInfo where cardID=@cardID)-@money <1) print '取款后余额不能低于1元' else begin
update cardInfo set balance = balance - @money where cardID=@cardID select @balance= balance from cardinfo where cardID=@cardID
insert transInfo(transDate ,cardID,transType,transMoney,remark) values(default,@cardID,'支取',@money ,'') print '交易成功'
print '交易金额:'+convert(varchar(10),@money)
print '卡号:'+convert(varchar(18),@cardID)+' 余额:'+convert(varchar(10),@balance) end end
create procedure proc_saveMoney ----------创建存款存储过程 (
@cardID varchar(20), @pass varchar(6), @money money ) as
declare @balance money,@IsReportLoss char(8) begin
if not exists(select *from cardInfo where cardId=@cardId) print '您输入的账号不存在'
else if((select pass from cardInfo where cardID=@cardID)!=@pass) print '密码不正确。'
else if((select IsReportLoss from cardInfo where cardID=@cardID)='是') print '卡已挂失, 交易不能进行。' else if(convert(int,@money )0!=0)
print '本柜员机只存入面值100元的纸币,存款金额为100的整数倍。' else begin
update cardInfo set balance =balance + @money where cardID=@cardID
insert transInfo(transDate ,cardID,transType ,transMoney,remark) values(default,@cardID,'存入',@money,'')
select @balance =balance from cardInfo where @cardID=cardID print '交易成功'
print '交易金额:'+convert(varchar(10),@money)
print '卡号:'+convert(varchar(20),@cardID)+'余额:'+convert(varchar(10),@balance) end end
14
5.4.9 创建转账交易的存储过程 功能:转账交易
目的:将一个卡上的资金转入另一个卡中
意义:提供转账交易避免现金交易,提高资金安全性。
代码:
create procedure zhuanzhang--------创建转账存储过程 @cardID varchar(20), @cardID1 varchar(20), @pass int,
@zhuanzhang int as
begin tran
if exists(select *from cardinfo where cardID =@cardID) begin
declare @pass1 int
set @pass1=(select pass from cardinfo where cardID=@cardID) if(@pass1=@pass) begin
if exists(select *from cardinfo where cardID=@cardID1) begin
declare @zhuanzhang1 int,@balance money
set @zhuanzhang1=(select balance from cardinfo where cardID=@cardID1) if(@zhuanzhang<@zhuanzhang1) begin
insert transInfo(transDate ,cardID,transType,transMoney,remark) values(default,@cardID,'支取',@zhuanzhang ,'')
update cardinfo set balance=balance-@zhuanzhang where cardID=@cardID insert transInfo(transDate ,cardID,transType ,transMoney,remark) values(default,@cardID1 ,'存入',@zhuanzhang,'')
update cardinfo set balance=balance+@zhuanzhang where cardID=@cardID1
select @balance =balance from cardInfo where cardID=@cardID commit;
print'转账成功!'
print '交易金额:'+convert(varchar(10),@zhuanzhang)
print '卡号:'+convert(varchar(20),@cardID)+'余额:'+convert(varchar(10),@balance) end else begin
print'不能转账,余额不足' rollback tran end end
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库ATM系统实训报告(3)在线全文阅读。
相关推荐: