Question
Following PL/SQL code implements a cursor and displays the first 3 highest students grades in course seqid '00001' DECLARE CURSOR c1 IS SELECT sname, grade
Following PL/SQL code implements a cursor and displays the first 3 highest students grades in course seqid '00001'
DECLARE
CURSOR c1 IS
SELECT sname, grade FROM Student s JOIN Taken t ON s.sid=t.sid
WHERE seqid='00001'
ORDER BY grade DESC;
-- my_sname VARCHAR2(40);
my_sname Student.sname%TYPE;
-- my_grade NUMBER(2,1);
my_grade Taken.grade%TYPE;
BEGIN
OPEN c1;
FOR i IN 1..3 LOOP
FETCH c1 INTO my_sname, my_grade;
EXIT WHEN c1%NOTFOUND; /* in case the number requested */
/* is more than the total */
/* number of enrolled students in the class */
/* display the result */
dbms_output.put_line('Name: ' || my_sname || ' ' || 'Grade: ' || my_grade);
END LOOP;
CLOSE c1;
END;
/
(a) Modify the above code to output the average of the top three grades.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started