Oracle数据库管理问题,高手请进,关于学生成绩问题

2025-03-04 08:28:38
推荐回答(4个)
回答1:

----------------------------------------Problem 1

SELECT student.sno,course.cno,grade.cgrade

FroM student,course,grade,

(SELECT cno,Max(cgrade) maxgrade

FroM grade

GROUP BY cno) M

WHERE student.sno = grade.sno AND

course.cno = grade.cno AND

grade.cno = M.cno AND

grade.cgrade = M.maxgrade;

------------------------------------------Problem 2

INSERT INTO re_exam

SELECT sno,cno,re_grade,sysdate

FROM grade WHERE cgrade<60;

-----------------------------------------Problem 3

CREATE OR REPLACE PROCEDURE sumcredits IS

BEGIN

FOR stu_cur IN (SELECT Sum(ccredit) SCC,sno

FROM course,grade

WHERE grade.cno = course.cno AND

cgrade>=60

GROUP BY sno)

LOOP

UPDATE student SET scredits = stu_cur.SCC

WHERE sno = stu_cur.sno;

END LOOP;

END sumcredits;

---------------------------------------------Problem 4

CREATE OR REPLACE TRIGGER update_exam

AFTER INSERT OR UPDATE ON re_exam

FOR EACH ROW

BEGIN

IF INSERTING THEN

UPDATE grade SET cgrade=:new.re_gradede

WHERE grade.sno = :new.sno and grade.cno=:new.cno;

ELSIF UPDATING THEN

UPDATE grade SET cgrade=:new.re_grade,comments='补考记录'

WHERE grade.sno = :new.sno and

grade.cno = :new.cno;

END IF;

END update_exam;

回答2:

1 . select 学生,期末成绩 from 成绩登记 orderby 期末成绩;
2 . select 学生,期末成绩 from 成绩登记 where 期末成绩<=60;
3 . select 学生,期末成绩 from 成绩登记 where 期末成绩>=60
update();

回答3:

查询oracle怎么实现?谢谢 select * from ( select stcdt,ymdhm,zr 这能查出来数据吗? 同时一个字段要等于3个值? 上面的语句应该是你要的~!

回答4:

insert into 补考记录
values(sysdate,select course,student,grade from grades where course<60);