SQL存储过程进行成绩绩点换算
来源:互联网 发布:阿里云自定义监控实例 编辑:程序博客网 时间:2024/05/21 15:49
已知下面百分制成绩和GPA 绩点、等级成绩之间的关系,建立名为 PA** (即以 PA 开头,后面是建过程人的学号)的存储过程,用于实现对给定的百分制成绩,输出其GPA 绩点和等级成绩。输入参数为百分制成绩,返回参数为绩点、等级成绩。如输出成绩不在0~100 直接,存储过程返回-1,否则返回0。
成绩起始分值 成绩截止分值 绩点 等级成绩
95 100 4.3 A+
90 94 4.0 A
85 89 3.7 A-
82 84 3.3 B+
78 81 3.0 B
75 77 2.7 B-
72 74 2.3 C+
68 71 2.0 C
65 67 1.7 C-
64 64 1.5 D+
61 63 1.3 D
60 60 1.0 D-
0 59 0 F
create procedure PAPB14210XXX (@grade int, @GPA float(2) output, @level char(5) output)asbeginif @grade between 0 and 59 beginselect @GPA=0select @level='F'endelse if @grade = 60 beginselect @GPA=1select @level='D-'endelse if(@grade between 61 and 63) beginselect @GPA=1.3select @level='D'; endelse if(@grade between 64 and 64) beginselect @GPA=1.5;select @level='D+'; endelse if(@grade between 65 and 67) beginselect @GPA=1.7;select @level='C-'; endelse if(@grade between 68 and 71)beginselect @GPA=2;select @level='C'; endelse if(@grade between 72 and 74)beginselect @GPA=2.3;select @level='C+'; endelse if(@grade between 75 and 77)beginselect @GPA=2.7;select @level='B-'; endelse if(@grade between 78 and 81)beginselect @GPA=3;select @level='B'; endelse if(@grade between 82 and 84)beginselect @GPA=3.3;select @level='B+';endelse if(@grade between 85 and 89)beginselect @GPA=3.7;select @level='A-'; endelse if(@grade between 90 and 94)beginselect @GPA=4;select @level='A'; endelse if(@grade between 95 and 100)beginselect @GPA=4.3select @level='A+'endif (@grade between 0 and 100)return 0else return -1end
调用:
declare @GPA float(2);declare @level char(5);execute PAPB14210XXX 95, @GPA output,@level outputselect @GPA,@level
0 0
- SQL存储过程进行成绩绩点换算
- 绩点换算
- 1242 -- 绩点换算
- SQL注射检测之突破存储过程进行sql注入
- GPA成绩换算器
- Oracle SQL Developer中进行存储过程调试
- Oracle SQL Developer中进行存储过程调试
- PL/SQL 存储过程调试不能进行单步问题
- PL/SQL进行debug 包以及存储过程
- oracle用存储过程 进行行转列(执行动态SQL语句)
- oracle PL/SQL进行 建表、存储过程、序列、存储过程调用、Job
- 编写一个存储过程,根据学号、课程号 按成绩的20%进行加分,如果增加后的分数大于100,则取消加分。同时在存储过程中返回增加后的成绩。
- SQL Server中用with encryption进行加密的存储过程,可以用下面过程解密!
- sql 存储过程中 如何使用declare 有的存储过程声明了,有的没有声明。请回答的详细点
- Mysql 存储过程注意点
- 存储过程那点小事
- 对存储过程进行加密和解密(SQL 2008/SQL 2012)
- SQL SERVER存储过程
- Alterdialog的创建
- java实现简单的RPC框架
- Android ButterKnife 集成使用步骤
- OpenCV_Corner Detect with FastFeatureDetector(基于FAST的角点检测)
- 字符串全排序
- SQL存储过程进行成绩绩点换算
- x86下以ntopenprocess为例的SSDTHook
- C++STL之vector容器
- Code[VS] 1669 运输装备 解题报告
- CvvImage使用说明和注意事项
- nodic开发工具相关问题
- A
- Storm vs. Spark Streaming: 横向对比
- 通过对i8042 键盘控制器编程控制鼠标