You are on page 1of 1

Exercice 03

create table emp(


empno number(4,0),
ename varchar2(10),
mgr varchar2(10),
sal number(7,2),
constraint pk_emp primary key (empno)
)
SET SERVEROUTPUT ON
DECLARE
l_emp_name VARCHAR2(250);
l_emp_no NUMBER;
l_salary NUMBER;
l_manager VARCHAR2(250);
BEGIN
INSERT INTO EMP
VALUES(1000,'BBB','AAA’,2500);
INSERT INTO EMP
VALUES(1001,'XXX','BBB',1000);
INSERT INTO EMP
VALUES(1002,'YYY','BBB',1000);
INSERT INTO EMP
VALUES(1003,'ZZZ','BBB',7500);
COMMIT;
SELECT EMPNO,ENAME,MGR,SAL INTO l_emp_no,l_emp_name,l_manager,l_salary FROM EMP WHERE
ENAME='XXX';
DBMS_OUTPUT.ENABLE;
Dbms_output.put_line('Employee Detail');
Dbms_output.put_line('Employee Name:'||l_emp_name);
Dbms_output.put_line('Employee Number:'||l_emp_no);
Dbms_output.put_line('Employee Salary:'||l_salary);
Dbms_output.put_line('Emplovee Manager Name:'||l_manager);
END;
/
CREATE OR REPLACE TRIGGER display_salary_changes
BEFORE DELETE OR INSERT OR UPDATE ON EMP
FOR EACH ROW
WHEN (NEW.EMPNO > 0)
DECLARE
sal_diff number;
BEGIN
sal_diff := :NEW.SAL- :OLD.SAL;
dbms_output.put_line('Old salary: ' || :OLD.SAL);
dbms_output.put_line('New salary: ' || :NEW.SAL);
dbms_output.put_line('Salary difference: ' || sal_diff);
END;

begin
INSERT INTO EMP
VALUES(1006,'BBB','AAA’,4000);
end;
/

You might also like