From 4d878d51ca52fc2b5ae95dc1854bba2b3370d762 Mon Sep 17 00:00:00 2001 From: Kshitij Date: Sun, 10 Nov 2024 19:31:16 +0530 Subject: [PATCH] Made changed to data inserted in table. Added another exception and changed outputs to be more polite. --- .../PL-SQL/P4 - PL-SQL Block.md | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Practical/Practical Exam/PL-SQL/P4 - PL-SQL Block.md b/Practical/Practical Exam/PL-SQL/P4 - PL-SQL Block.md index 5eb6efc..4cef835 100644 --- a/Practical/Practical Exam/PL-SQL/P4 - PL-SQL Block.md +++ b/Practical/Practical Exam/PL-SQL/P4 - PL-SQL Block.md @@ -1,7 +1,6 @@ # P4 - PL/SQL block -**Problem Statement:** -Write a PL/SQL block for following requirements and handle the exceptions. Roll no. of students will be entered by the user. Attendance of roll no. entered by user will be checked in the Stud table. If attendance is less than 75% then display the message “Term not granted” and set the status in stud table as “Detained”. Otherwise display message “Term granted” and set the status in stud table as “Not Detained”. Student (Roll, Name, Attendance, Status) +**Problem Statement:** Write a PL/SQL block for following requirements and handle the exceptions. Roll no. of students will be entered by the user. Attendance of roll no. entered by user will be checked in the Stud table. If attendance is less than 75% then display the message “Term not granted” and set the status in stud table as “Detained”. Otherwise display message “Term granted” and set the status in stud table as “Not Detained”. Student (Roll, Name, Attendance, Status) --- @@ -20,11 +19,11 @@ CREATE TABLE Student( ## Inserting data ```sql -INSERT INTO Student VALUES (1, 'Tanmay', 76, 'Not Yet Reviewed'); -INSERT INTO Student VALUES (2, 'Rajesh', 80, 'Not Yet Reviewed'); -INSERT INTO Student VALUES (3, 'Tejas', 88, 'Not Yet Reviewed'); -INSERT INTO Student VALUES (4, 'Machkar', 35, 'Not Yet Reviewed'); -INSERT INTO Student VALUES (5, 'Jayashree', 74, 'Not Yet Reviewed'); +INSERT INTO Student VALUES (1, 'Tanmay', 76, NULL); +INSERT INTO Student VALUES (2, 'Rajesh', 80, NULL); +INSERT INTO Student VALUES (3, 'Tejas', 88, NULL); +INSERT INTO Student VALUES (4, 'Machkar', 35, NULL); +INSERT INTO Student VALUES (5, 'Jayashree', 74, NULL); ``` @@ -36,6 +35,7 @@ DECLARE p_roll Student.Roll%type; nodata EXCEPTION; BEGIN + DBMS_OUTPUT.PUT_LINE('Enter roll number: '); p_roll := &p_roll; IF (p_roll < 0) THEN @@ -45,15 +45,17 @@ BEGIN SELECT Attendance INTO p_att FROM Student WHERE Roll = p_roll; IF (p_att < 75) THEN - DBMS_OUTPUT.PUT_LINE('Term not granted!'); + DBMS_OUTPUT.PUT_LINE('Term not granted to roll no. ' || p_roll); UPDATE Student SET Status = 'Detained' WHERE Roll = p_roll; ELSIF (p_att >= 75) THEN - DBMS_OUTPUT.PUT_LINE('Term granted!'); + DBMS_OUTPUT.PUT_LINE('Term granted to roll no. ' || p_roll); UPDATE Student SET Status = 'Not Detained' WHERE Roll = p_roll; END IF; EXCEPTION WHEN nodata THEN - DBMS_OUTPUT.PUT_LINE('Enter valid rollno!!'); + DBMS_OUTPUT.PUT_LINE('Please enter a valid roll number.'); + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE('Error occured. Error: ' SQLERRM); END; /