0% found this document useful (0 votes)
3 views

Assignment 13 SQL

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Assignment 13 SQL

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

Name- Abhishek Bharat Dadhel PRN-124M1H006

Solution:-
CREATE OR REPLACE PROCEDURE Proc_Class (P_Roll_No IN NUMBER) AS
v_total_marks NUMBER;
BEGIN
-- Calculate the total marks by summing marks from all subjects
SELECT Subject1 + Subject2 + Subject3
INTO v_total_marks
FROM Stud_Marks
WHERE Roll_No = P_Roll_No;

-- Categorizing based on total marks


IF v_total_marks > 1200 THEN
UPDATE Result
SET Class = 'DISTINCTION'
WHERE Roll = P_Roll_No;
ELSIF v_total_marks BETWEEN 900 AND 1200 THEN
UPDATE Result
SET Class = 'FIRST CLASS'
WHERE Roll = P_Roll_No;
ELSIF v_total_marks BETWEEN 750 AND 900 THEN
UPDATE Result
SET Class = 'HIGHER SECOND CLASS'
WHERE Roll = P_Roll_No;
ELSE
UPDATE Result
SET Class = 'FAIL'
WHERE Roll = P_Roll_No;
END IF;

COMMIT; -- Commit the changes


DBMS_OUTPUT.PUT_LINE('Student categorization updated.');
END Proc_Class;

DECLARE
v_roll_no NUMBER := &roll_no;
BEGIN
Proc_Class(v_roll_no);

DBMS_OUTPUT.PUT_LINE('Categorization for Roll No ' || v_roll_no || ' has been


updated.');
END;
/

You might also like