编写一个函数计算学生某一门课程在班级内的排名。

表结构如下:

create or replace function fun_score_rank(
p_in_stuid in number,--学号
p_in_courseid in number --课程ID
)
return number
is
ls_pm number:=0;
ls_score number:=0;
begin
--获取该学生的成绩
select t.score into ls_score from score_ys t
where t.stuid = p_in_stuid
and t.courseid = p_in_courseid;
--获取成绩比该学生高的人数
select count(1) into ls_pm from score_ys t
where t.courseid = p_in_courseid
and t.score>ls_score;
--得到该学生的成绩排名
ls_pm:=ls_pm+1;
return ls_pm;
exception
when no_data_found then
dbms_output.put_line('该学生的课程:'||p_in_courseid|| '的成绩在成绩表中找不到');
end;

使用函数

select fun_score_rank('','') 排名1, fun_score_rank('','') 排名2 from dual;

最新文章

  1. AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager
  2. JMeter之JMS接口测试
  3. python基础_字典_列表_元组考试_day4
  4. 7.python模块补充
  5. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决办法
  6. docker-tomcat-nginx 反向代理和负载均衡
  7. 从cocos2dx中寻找函数指针传递的方法
  8. Eclipse不能自动编译 java文件的解决方案
  9. [Git]git常用命令总结
  10. Git 初始化配置
  11. 【linux】常用网站
  12. sed 一些用法
  13. Delphi下DLL编程知识(转)
  14. cocos2d-js(一)引擎的工作原理和文件的调用顺序
  15. 人脸识别Android SDK集成
  16. mybatis 使用缓存策略
  17. MongoDB Schema Design
  18. 数据结构树之AVL树(平衡二叉树)
  19. shell 排除目录
  20. MFC控件的颜色设置

热门文章

  1. 关于org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguigu.crud.dao.DepartmentMapper.insertSelective的错误
  2. docker 升级后启动异常处理
  3. 实验一 Linux系统与应用准备(嵌入式Linux工程师的“修真之路”)
  4. JetBrains 第二轮:再为免费全家桶续命三个月
  5. Sublime text 3 运行python3
  6. 【04】openlayers 地图弹框
  7. postman设置测试环境
  8. Redis(9)——史上最强【集群】入门实践教程
  9. react build本地相对目录 "homepage": ".", package.json
  10. 扩展gRPC支持consul服务发现和Polly策略