Problema con trigger
Publicado por sergio barrientos (2 intervenciones) el 21/02/2015 21:43:16
Saludos¡¡¡
Tengo que hacer un trigger de control de sueldos. Se definen categorías de sueldos y el trigger controla que el empleado pertenezca a la categoría según el sueldo que se ingresa. El hecho es que lo hize pero no controla nada, se puede introducir cualquier sueldo en cualquier categoría. El código en DB2 del trigger que hize es
CREATE OR REPLACE TRIGGER SUELDOS_CONTROL
NO CASCADE BEFORE UPDATE OF SUELDO ON SERGIO23.EMPLEADOS REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL NOT SECURED
when( n.SUELDO < (SELECT SUELDOMINIMO FROM CATEGORIAS WHERE
n.IDCATEGORIA = categorias.IDCATEGORIA ) OR n.SUELDO > (SELECT
SUELDOMAXIMO FROM CATEGORIAS WHERE n.IDCATEGORIA =
categorias.IDCATEGORIA) )
SIGNAL SQLSTATE '75000' ('no puede pertenecer a dicha categoria.')
-----------------------------------
Las tablas son EMPLEADOS(idempleado, empleado, idcategoria, sueldo) y CATEGORIAS(idcategoria, sueldominimo,sueldomaximo,categoria)
Desde ya les agradecería su invalorable ayuda.
Saludos.
Tengo que hacer un trigger de control de sueldos. Se definen categorías de sueldos y el trigger controla que el empleado pertenezca a la categoría según el sueldo que se ingresa. El hecho es que lo hize pero no controla nada, se puede introducir cualquier sueldo en cualquier categoría. El código en DB2 del trigger que hize es
CREATE OR REPLACE TRIGGER SUELDOS_CONTROL
NO CASCADE BEFORE UPDATE OF SUELDO ON SERGIO23.EMPLEADOS REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL NOT SECURED
when( n.SUELDO < (SELECT SUELDOMINIMO FROM CATEGORIAS WHERE
n.IDCATEGORIA = categorias.IDCATEGORIA ) OR n.SUELDO > (SELECT
SUELDOMAXIMO FROM CATEGORIAS WHERE n.IDCATEGORIA =
categorias.IDCATEGORIA) )
SIGNAL SQLSTATE '75000' ('no puede pertenecer a dicha categoria.')
-----------------------------------
Las tablas son EMPLEADOS(idempleado, empleado, idcategoria, sueldo) y CATEGORIAS(idcategoria, sueldominimo,sueldomaximo,categoria)
Desde ya les agradecería su invalorable ayuda.
Saludos.
Valora esta pregunta


0