Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE student
- (
- rollno NUMBER primary key,
- name VARCHAR(20) NOT NULL,
- class VARCHAR(20) CHECK(class IN('fybca','sybca','tybca','graduate')),
- result VARCHAR(20) CHECK(result IN('pass','faile','status'))
- );
- CREATE TABLE Result
- (
- rollno NUMBER,
- m_sub1 NUMBER CHECK(m_sub1>=0 AND m_sub1<=100),
- m_sub2 NUMBER CHECK(m_sub2>=0 AND m_sub2<=100),
- m_sub3 NUMBER CHECK(m_sub3>=0 AND m_sub3<=100),
- foreign key(rollno) references student(rollno) ON DELETE cascade
- );
- --sequence
- CREATE sequence s1
- increment BY 1
- START WITH 1
- minvalue 1
- maxvalue 200
- ORDER;
- --insertion
- INSERT INTO student VALUES(s1.NEXTVAL,'Aniket','sybca','status');
- INSERT INTO student VALUES(s1.NEXTVAL,'Aadesh','fybca','status');
- INSERT INTO student VALUES(s1.NEXTVAL,'Darshan','tybca','status');
- INSERT INTO student VALUES(s1.NEXTVAL,'Ankit','sybca','status');
- INSERT INTO student VALUES(s1.NEXTVAL,'Dhruv','fybca','status');
- CREATE OR REPLACE TRIGGER t1
- after INSERT OR UPDATE ON result
- FOR each ROW
- DECLARE
- c VARCHAR(10);
- CURSOR c1
- IS SELECT class
- FROM student
- WHERE rollno=:NEW.rollno;
- BEGIN
- IF inserting THEN
- IF(:NEW.m_sub1<33 OR :NEW.m_sub2<33 OR :NEW.m_sub3<33 ) THEN
- UPDATE student
- SET result='faile'
- WHERE rollno=:NEW.rollno;
- ELSE
- UPDATE student
- SET result='pass'
- WHERE rollno=:NEW.rollno;
- OPEN c1;
- FETCH c1 INTO c;
- IF(c='fybca') THEN
- UPDATE student
- SET class='sybca'
- WHERE rollno=:NEW.rollno;
- ELSIF(c='sybca') THEN
- UPDATE student
- SET class='tybca'
- WHERE rollno=:NEW.rollno;
- ELSIF(c='tybca') THEN
- UPDATE student
- SET class='graduated'
- WHERE rollno=:NEW.rollno;
- END IF;
- CLOSE c1;
- END IF;
- END IF;
- END t1;
- /
- --insertion result
- INSERT INTO Result VALUES(21,35,46,87);
- INSERT INTO Result VALUES(22,98,87,65);
- INSERT INTO Result VALUES(23,98,87,65);
- INSERT INTO Result VALUES(24,47,76,66);
- INSERT INTO Result VALUES(25,88,66,25);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement