-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsimple procedure.sql
78 lines (55 loc) · 1.57 KB
/
simple procedure.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
--CREATE TABLE stud_marks(name VARCHAR2(25),total_marks NUMBER);
--CREATE TABLE result(roll_number NUMBER , name VARCHAR2(25), class VARCHAR2(30));
-- CREATE TABLE ONLY ONCE
SET SERVEROUT ON
CREATE OR REPLACE PROCEDURE procedure_1 ( roll_no IN NUMBER, name IN VARCHAR2 ,marks IN NUMBER) AS
BEGIN
IF (marks<=1500 and marks>=990) THEN
DBMS_OUTPUT.PUT_LINE ('DISTINCTION');
INSERT INTO result VALUES (roll_no,name,'DISTINCTION');
ELSIF (marks<=989 and marks>=900) THEN
DBMS_OUTPUT.PUT_LINE ('FIRST CLASS');
INSERT INTO result VALUES (roll_no,name,'FIRST CLASS');
ELSIF (marks<=899 and marKs>825) THEN
DBMS_OUTPUT.PUT_LINE('HIGHER SECOND CLASS');
INSERT INTO result VALUES (roll_no,name,'HIGHER SECOND CLASS');
ELSE
DBMS_OUTPUT.PUT_LINE ('FAIL');
INSERT INTO result VALUES (roll_no,name,'FAIL');
END IF;
INSERT INTO stud_marks VALUES (name,marks);
END procedure_1;
/
BEGIN
procedure_1(45,'ASHUTOSH',1450);
procedure_1(46,'ARYAN',950);
procedure_1(47,'ROHAN',850);
procedure_1(48,'SARTHAK',750);
END;
/
/*
CONSOLE OUTPUT :
Procedure created.
DISTINCTION
FIRST CLASS
HIGHER SECOND CLASS
FAIL
PL/SQL procedure successfully completed.
*/
/*
ACTUAL DATABASES
STUD_MARKS:
NAME TOTAL_MARKS
------------------------- -----------
ASHUTOSH 1450
ARYAN 950
ROHAN 850
SARTHAK 750
RESULT:
ROLL_NUMBER NAME CLASS
----------- ------------------------- ------------------------------
45 ASHUTOSH DISTINCTION
46 ARYAN FIRST CLASS
47 ROHAN HIGHER SECOND CLASS
48 SARTHAK FAIL
*/