DROP TRIGGER GuardarHistorialSalario; CREATE OR REPLACE TRIGGER GuardarHistorialSalario BEFORE UPDATE ON Empleado FOR EACH ROW DECLARE aux integer; begin if (:OLD.Salario <> :NEW.salario) then SELECT count(*) INTO aux FROM HistorialSalario HS WHERE HS.codEmp = :NEW.codEmp AND trunc(fechaCambioSalario) = trunc(sysdate); if aux > 0 then raise_application_error( -20501, 'No puede haber 2 cambios el mismo día'); else INSERT INTO HistorialSalario VALUES (:OLD.codEmp, :OLD.salario, sysdate); end if; end if; end GuardarHistorialSalario; . RUN;