This website is for reference purposes only. Users are responsible for any misuse. The owner is not liable for any consequences.
Back to Database Management Systems (Laboratory)
5.1.3HardCODE

Average of Subjects

Question

Solution

SQL

CREATE OR REPLACE FUNCTION calculate_grade(
    subject1 INTEGER, subject2 INTEGER, subject3 INTEGER, 
    subject4 INTEGER, subject5 INTEGER, subject6 INTEGER
)
RETURNS TEXT AS $$
DECLARE
    total INTEGER;
    average DECIMAL;
    grade CHAR;
BEGIN
    -- Calculate total marks
    total := subject1 + subject2 + subject3 + subject4 + subject5 + subject6;

    -- Calculate average marks
    average := total / 6.0;

    -- Determine the grade based on average
    IF average >= 90 THEN
        grade := 'A';
    ELSIF average >= 80 THEN
        grade := 'B';
    ELSIF average >= 70 THEN
        grade := 'C';
    ELSIF average >= 60 THEN
        grade := 'D';
    ELSE
        grade := 'F';
    END IF;

    -- Return the grade
    RETURN grade;
END $$ LANGUAGE plpgsql;


4/4 test cases passed

No hidden test cases