CREATE OR REPLACE TRIGGER only_sales_comm BEFORE INSERT OR UPDATE ON EMP_COPIA FOR EACH ROW BEGIN IF UPPER(:NEW.job) != 'SALESMAN' AND :NEW.comm IS NOT NULL THEN raise_application_error(-20669, 'Comm only allowed if SALESMAN'); END IF; END; / CREATE TABLE EMP_COPIA AS (SELECT * FROM EMP); SELECT * FROM EMP_COPIA; UPDATE EMP_COPIA SET COMM=72 WHERE EMPNO=7782; CREATE OR REPLACE TRIGGER sal_range BEFORE INSERT OR UPDATE ON EMP_COPIA FOR EACH ROW BEGIN IF UPPER(:NEW.JOB) = 'CLERK' AND :NEW.SAL NOT BETWEEN 800 AND 1100 THEN raise_application_error(-20669, 'Clerk salary must be between 800-1100'); ELSIF UPPER(:NEW.JOB) = 'ANALYST' AND :NEW.SAL NOT BETWEEN 1200 AND 1600 THEN raise_application_error(-20669, 'Analyst salary must be between 1200-1600'); ELSIF UPPER(:NEW.JOB) = 'MANAGER' AND :NEW.SAL NOT BETWEEN 1800 AND 2000 THEN raise_application_error(-20669, 'Manager salary must be between 1800-2000'); END IF; END; / UPDATE EMP_COPIA SET SAL=5 WHERE EMPNO=7788;