-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsalary.sql
More file actions
46 lines (37 loc) · 1.2 KB
/
salary.sql
File metadata and controls
46 lines (37 loc) · 1.2 KB
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
SET SERVEROUTPUT ON;
CREATE TABLE employee (
empid NUMBER PRIMARY KEY,
empname VARCHAR(30),
salary NUMBER(10,2)
);
CREATE TABLE increment_ (
empid NUMBER,
incr NUMBER(10,2),
FOREIGN KEY (empid) REFERENCES employee(empid)
);
CREATE OR REPLACE TRIGGER emp_modified
AFTER UPDATE OF salary
ON employee FOR EACH ROW
DECLARE
diff NUMBER;
BEGIN
diff := :NEW.salary - :OLD.salary;
IF diff > 1000 THEN
INSERT INTO increment_ VALUES (:NEW.empid, diff);
END IF;
END;
/
INSERT INTO employee VALUES (3001, 'Arjun', 12000.00);
INSERT INTO employee VALUES (3002, 'Sreeraj', 6000.00);
INSERT INTO employee VALUES (3003, 'Akhil', 15000.00);
INSERT INTO employee VALUES (3004, 'Anu', 90000.00);
INSERT INTO employee VALUES (3005, 'Dev', 35000.00);
UPDATE employee SET salary = 15000.00 WHERE empid = 3001;
UPDATE employee SET salary = 7000.00 WHERE empid = 3002;
UPDATE employee SET salary = 16000.00 WHERE empid = 3003;
UPDATE employee SET salary = 95000.00 WHERE empid = 3004;
UPDATE employee SET salary = 36000.00 WHERE empid = 3005;
SELECT * FROM employee;
SELECT * FROM increment_;
DROP TABLE increment_;
DROP TABLE employee;