扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Jane 来源:赛迪网 2007年8月26日
关键字: 过程 数据库 SQL Server SQL Server 各版本
3.鉴于第二种方法最后的分析,使用between…and…表达式同时参照一个表来更新纪录,则可以方便表达分数段与相应的level信息,把这些信息存储到一个表level_about中,在更新student_score表的过程中可以参照这个表。计算的过程中,需要把level_about表的内容读出来,然后进行计算。对于整个计算过程来说,牺牲空间和部分效率来换来操作方便,,由于现在计算机的速度相当快,level_about表占用的空间又很小,这方面的损失可以忽略不记。Level_about表中的信息至少包含3个字段:start_score,记录起始分数,end_score记录终止分数,level记录介于起始分数和终止分数之间的分数应该得到的成绩。表中的数据应该类似于这样:
|
更新student_Score表中的纪录需要依据Start_score和End_score来判断当前记录中成绩所在的Level,在MSSQL中实现的SQL语句:
|
比较以上3种方法,实现同一个目的采用不同的算法实现的效果是不同的。
一些简单的算法不需要经过修改就可以直接应用到数据库中,比如业务需要每天晚上都需要结算一天的情况,一周两次自动结算奖金,结算奖金时间在每周再周一和周四的晚上0点。为了实现系统的自动结算,需要使用系统的任务,给系统制订一个作业,指定每天晚上0点结算就可以实现系统的自动结算(由于结算的时间间隔可能是会变化,不能使用作业中的定时功能)。为了可以在周一和周四结算,在数据库中设置一个表misc,其中的字段相当于全局变量,表中只有一条纪录,使用其中的一个字段(days)来记录当前结算的次数,也就是以系统开始运行为标准经过的天数。系统执行任务同时更新misc表中的days使其增长update misc set days=days+1。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者