PL/SQL
The 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;
/
1. Modify the above code to output the average of the top three grades.
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here