数据库技术与应用课程设计报告内容摘要:
proc_staticsBanlanceAndProfit,执行该存储过程运行结果如下图所示: 执行统计银行资金流通余额和盈利结算的存储过程 exec proc_staticsBanlanceAndProfit 39。 张建军 39。 图 1. 统计某客户的资金流通余额和盈利结算 (4) 查询某个开户网点本季度开户信息 查询本季度某个开户网点的银行卡开户相关信息,如查询大连新型支行的本季度开户信息。 结果如下图所示,按开户日期排序: 图 2. 本季度某个开户网点的开户信息 (5) 查询本周开户且本周单次交易金额最高的交易信息 查询本周开户的银行卡中单次交易金额最高的信息。 结果如下图所示: 查询本季度各银行卡交易总额的信息,结果如下图所示: 图 1. 本季度各银行卡的交易信息:卡号,交易总额 查询本季度交易总金额最高的银行卡信息。 图 1. 本季度银行卡交易额最高的银行卡信息:卡号、开户日期、开户金额 (6) 查询挂失客户信息 查询挂失账号的客户信息,利用子查询 in 的方式,查询结果如下图所示: 图 3. 查询挂失客户 由于所有卡余额均大于等于 0,所以并没有挂失账户,此查询为空 实训五:查询统计 使用 TSQL 语句实现银行的日常业务,并保存为 文件。 按下述推荐步骤,在 4 学时内完成下述实训内容: (1) 催款提醒业务 根据某种业务(如代缴电话费、代缴手机费或房贷等)的需要,每个月末,查询出各个开户网点中客户账户上余额少于 200 元的客户总数,由银行统一致电催款。 查询结果如下图所示: 图 4. 催款提醒业务 查询没有开户的客户信息 查询没有开户的客户信息,查询结果如下图所示: 图 5. 查询没有开户的客户信息 由于在设计表数据时为每一位客户都至少开了一张卡,故不存在未开户客户 (3) 统计各个开户网点营业情况 显示各开户网点的本周开户数(只统计账户余额在 5000 元以上的银行卡),交易总金额,交易总笔数。 查询结果如下图所示: 图 6. 查询本周各开户网点的营业情况 (4) 查询客户开卡数量 显示开卡数量等于或者超过 5 张的客户信息。 查询结果如下图所示: 图 7. 查询开卡数量 5 张及以上的客户信息 (5) 统计本月开户的银行卡支取情况 显示本月开户的银行卡支取情况,查看各个银行卡的开户金额 +收入总额 支出总额是否和账户余额相符。 查询结果如下图所示: 图 8. 查询本月开户的银行卡支取情况 实训六:创建、使用视图 使用 TSQL 语句创建如下视图,并保存为 文件。 按下述推荐步骤,在 2 学时内完成下述实训内容: 为向客户提供友好的用户界面,使用 TSQL 语句创建下面几个视图,并使用这些视图输出各表信息。 (1) 输出银行客户记录视图 VW_userInfo 显示的列名全为中文,显示银行卡没有挂失的客户记录视图,要求先判断该视图是否存在,若存在,则先删除。 结果如下图所示: 图 9. 输出银行客户记录(其对应的银行卡状态为未挂失) (2) 输出银行卡记录视图 VW_CardInfo 建议使用内部连接 Inner Join 语句,结果如下图所示: 图 10. 输出银行卡记录 (3) 输出银行卡交易记录视图 VW_TransInfo 查询该视图,视图按交易日期排序,结果如下图所示: 由于要在视图中使用 order by 因此使用 top 图 11. 输出银行卡的交易记录 (4) 查询本季度没有交易记录的客户信息 创建视图 vw_searchCustomerNoDeal,查询本季度没有交易记录的客户信息。 图 12. 本季度没有交易记录的客户信息 vw_searchCustomerNoDeal 实训七:存储过程实现业务处理 使用 TSQL 语句创建如下视图,并保存为 文件 (1) 完成存款或取款业务 描述: 根据银行卡号和交易金额实现银行卡的存款和取款业务。 每一笔存款,取款业务都要计入银行交易账,并同时更新客户的存款余额。 如果是取款业务,在记账之前,要完成下面两项数据的检查验证工 作,如果检查不合格,那么中断取款业务,给出提示信息后退出。 检查客户输入的密码是否正确。 账户取款金额是否大于当前存款额加 1。 要求: 取款或存款存储过程名为 usp_takeMoney。 编写一个存储过程完成存款和取款业务,并调用存储过程取钱或者存钱进行测试。 若是存取款过程成功,则结果窗口显示如图 19 的信息,包括卡号信息,以及当天的该卡号交易信息。 若是存取款不成功,则给出错误提示信息。 结果如下图所示 下述两图为存取款正确时的结果窗口: 图 13. 执行存储过程的结果窗口(存取款) 图 14. 执行存储过程的输出消息 提示: 鉴于存款时客户不需要提供密码,在编写存储过程中,为输入参数“密码”列设置默认值为 Null。 在存储过程中使用事务,以保证数据操作的一致性。 use BankDB1 go 71 if exists(select * from sysobjects where id=OBJECT_ID(N39。 proc_TakeMoney39。 )) drop proc proc_TakeMoney go create proc proc_TakeMoney @BCNo varchar(20),@money money,@pwd varchar(10)=null as 不返回受影响的行数 set nocount on 声明一个变量存放指定卡号的存款余额 declare @existBanlance money 启动事务机制 begin tran select @existBanlance=BCExistBalance from BankCard where BCNo=@BCNo print(39。 交易前,卡号 39。 +@bo+39。 ,余额为 :39。 +convert(varchar(20),@existBanlance)) print(39。 交易正进行,请稍后 ...39。 ) 如果输入参数 @pwd为空,则为取款业务,否则为存款业务 if(@pwd is not null) 办理取款业务 begin 判断指定卡号和密码是否存在,若存在,则可以取款,否则失败 if exists(select BCNo,BCPwd from BankCard where (BCNo=@BCNo and BCPwd=@pwd)) begin if((select BCRegLoss from BankCard where BCNo=@BCNo)=39。 是39。 ) begin print 39。 该卡已挂失 ,无法办理相应业务 39。 rollback end else begin 判断取款金额是否小于等于余额,若条件成立,则可以取款,否则失败 if(@money=@existBanlance) begin insert into BankDealInfo values(@BCNo,GETDATE(),@money,39。 取款 39。 ,39。 通过存储过程 39。 ) if(@@ERROR0) begin print 39。 交易失败 39。 rollback tran end else begin mit tran print 39。 交易成功 ,交易金额为 :39。 +convert(varchar(10),@money)+39。 ,余额为:39。 +convert(varchar(10),(@existBanlance@money)) end end else begin print 39。 余额不足 ,取款失败 39。 rollback tran end end end else begin print 39。 取款失败。数据库技术与应用课程设计报告
相关推荐
M01 计划停止(暂停) M02 程序结束(结束) M03 主轴顺时针方向(主轴正转) M04 主轴逆时针方向(主轴反转) M05 主轴停止 M08 切削液开 M09 切削液关 M30 程序结束 M02 与 M30 指令的区别。 M02 和 M30 都是程序结束指令。 执行 M30 指令后,机床停止运动,程序返回开始状态,再次开机后可再次运行,而执行 M02 指令后,机床停止运动,机床复位
) tc+(10~20) 二、 数控机床的使用 工件的加工批量应大于经济批量 经济批量 = 数控机床准备工时 — 普通机床准备工时 / K K = 普通机床单件工时 — 数控机床单件工时 K为修正系数,是考虑数控机床的工时成本要比普通机床高得多,希望一台数控机床能相当于几台普通机床使用,因此系数 K至少要取 2以上 2.、安排重复性投产的加工零件 尽量发挥机床的各种工艺特点 工件的加工内容要合适
象的统计数据与该区域内所有同类对象数据统计之间的比例。 排名:在某个特定的区域内 (或销售公司 ),某个特定的统计对象的统计数据与该区域内所有同类对象数据统计之间的排序关系。 趋势: 在某时间段内的数据变化情况曲线。 存销比:存销比分周存销比和月存销比,周存销比强调实时性,用于日统计和周统计,根据烟草销售的特点,当日前的 7 天的 (平均库存数量 /平均销售数量 )
RL 来完成,CTRL+L(LOGOUT 登出, 退出当前操作), CTRL+N+回车(进入第 N 台服务器),CTRL+S(自动扫描), CTRL+T+数字 (调整自动扫描时间 ), CTRL+R( KVM 设备重新启动), CTRL+F12(进入 KVM 设备的设置菜单), CTRL+” +” (进入 下 一台服务器), CTRL+” “ (进入上一 台 服务器界面) ,