0% found this document useful (0 votes)
26 views2 pages

DBML 6

Uploaded by

wenep10941
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)
26 views2 pages

DBML 6

Uploaded by

wenep10941
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/ 2

-- No CREATE DATABASE or USE commands needed in Oracle

CREATE TABLE studmarks(


name VARCHAR2(20),
total_marks NUMBER
);

CREATE TABLE result(


roll_no NUMBER,
name VARCHAR2(20),
class VARCHAR2(25)
);

SELECT * FROM studmarks;


SELECT * FROM result;

CREATE OR REPLACE PROCEDURE proc_grade(


rollno NUMBER,
name VARCHAR2,
marks NUMBER
)
IS
class VARCHAR2(25);
BEGIN
IF marks >= 990 AND marks <= 1500 THEN
class := 'Distinction';
ELSIF marks <= 989 AND marks >= 900 THEN
class := 'First Class';
ELSIF marks <= 899 AND marks >= 825 THEN
class := 'Second Class';
ELSIF marks <= 824 AND marks >= 700 THEN
class := 'Pass';
ELSE
class := 'Fail';
END IF;

INSERT INTO studmarks (name, total_marks) VALUES (name, marks);


INSERT INTO result (roll_no, name, class) VALUES (rollno, name, class);
END;
/

EXEC proc_grade(1, 'Aryan', 850);


EXEC proc_grade(2, 'Peter', 1000);

SELECT * FROM studmarks;


SELECT * FROM result;

CREATE OR REPLACE FUNCTION grade(


rollno NUMBER,
name VARCHAR2,
marks NUMBER
) RETURN VARCHAR2
IS
class VARCHAR2(20);
BEGIN
IF marks >= 990 AND marks <= 1500 THEN
class := 'Distinction';
ELSIF marks <= 989 AND marks >= 900 THEN
class := 'First Class';
ELSIF marks <= 899 AND marks >= 825 THEN
class := 'Second Class';
ELSIF marks <= 824 AND marks >= 700 THEN
class := 'Pass';
ELSE
class := 'Fail';
END IF;

RETURN class;
END;
/

SELECT grade(101, 'John', 1300) FROM dual;

OUTPUT

NAME TOTAL_MARKS
-------------------- -----------
Aryan 850
Peter 1000

ROLL_NO NAME CLASS


---------- -------------------- -------------------------
1 Aryan Second Class
2 Peter Distinction

GRADE(101,'JOHN',1300)
--------------------------------------------------------------------------------
Distinction

GRADE(101,'JOHN',1300)
--------------------------------------------------------------------------------
Distinction

You might also like