首页 > 数据库技术 > 详细

Oracle创建函数例子

时间:2020-03-27 18:24:14      阅读:144      评论:0      收藏:0      [点我收藏+]

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

表结构如下:

技术分享图片

 

 

 

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(1001,2) 排名1, fun_score_rank(1002,1) 排名2 from dual;

 

技术分享图片

 

Oracle创建函数例子

原文:https://www.cnblogs.com/fangjb/p/12582813.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!