2 qq 27318531 qq_27318531 于 2015.07.14 19:15 提问

oracl 存储过程,函数调用 5C

1 编写一个函数,要求调用时传入学生姓名,返回学生的平均成绩(注意:有学生姓名重名的返回学号靠前的学生的平均成绩)

2 编写一个存储过程,新建一张表,每次执行的时候,将所有课程分数不及格的学生的学号,姓名,课程名,任课老师,成绩插入到表中,表中只存最新的数据

4个回答

Daniel2514
Daniel2514   2015.07.15 18:02

第一个大致是这样:
CREATE OR REPLACE FUNCTION F1 (pi_name in varchar2(20)) return number
is
v_cj number(3,2);
begin
select AVG( all cj)
into vcj
from table1
where name = pi_name
and ...
;
return v_cj;
end;
具体的你还是要自己根据表结构写一下,不过我建议把学号这种唯一属性的字段作为表的主键,函数的传入参数也使用这个,比较好;
第二个过程,无非是在插入语句执行前先删除一下表中已存在的数据,这样就可以保证只存放最新的了

caozhy
caozhy   Ds   Rxr 2015.07.15 05:49

这个取决于你的表结构。
基本写法参考

http://www.cnblogs.com/chinafine/articles/1776085.html

CSDNXIAON
CSDNXIAON   2015.07.16 15:29

Mysql通过函数调用存储过程
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

xiesq5112
xiesq5112   2015.07.23 16:11

第一个的话主要是写语句的时候做下排序。
第二个在每次插入前删除表数据就好了

Csdn user default icon
上传中...
上传图片
插入图片