Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Assignment 13 SQL

Copyright
© © All Rights Reserved
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
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