机房收费系统中——存储过程中加入事务,实现学生注册

需求介绍:

现在正在开发的机房收费系统,总得来说,是对学生上机进行收费管理(没有要在学校开网吧的意思啊!为了学习面开发的)大体的功能是这样的:学生上机,然后刷卡,下机的时候,再刷卡,然后通过对学生的上机时间收取相应的费用,同时,该系统还可以统计与维护学生的基本信息、上机记录、学生注册、充值、退卡等功能。
     其中有一个功能是学生注册,功能:注册学生的基本信息,同时可以在该学生帐户下存入一定的金额。

解决思路与办法:

因为,要学生注册信息的同时要对学生帐户进行充值,所以说要涉及到两个表的操作。一个是学生的基本信息表:student,还有一个是学生的充值记录表:RechargeRecord。可以想到,如果学生注册成功,那么,必须要向充值表中写入相应的充值记录,所以,我的解决办法,是用事务来实现。因为事务是原子性,可以要么都做,要么都不做。就算是写入到了学生的基本信息表,但是充值表中没有写入记录,也是注册不成功。
所以,我把事务写成了存储过程,让应用程序来调用:
下面是我的存储过程:

其中用@@error来取得执行结果!
希望大家留下您的宝贵意见啊!

你可能感兴趣的:(存储过程)