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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!