Trigger Dia 1 21 SOLUCIONES
Trigger Dia 1 21 SOLUCIONES
– Los datos que se insertan en esta tabla son los relativos al empleado
que se da de baja en la tabla empleados, salvo en las columnas usuario y
fecha se grabarán las variables del sistema USER y SYSDATE que
almacenan el usuario y fecha actual.
/*pueba trigger*/
delete empleados where nroemp=1;
select * from empleados_baja;
2º ASIR Página 1
TRIGGERS-1-SOLUCIONES
– Los datos que se insertan en esta tabla son los relativos al empleado
que se da de baja en la tabla empleados, salvo en las columnas usuario y
fecha se grabarán las variables del sistema USER y SYSDATE que
almacenan el usuario y fecha actual.
/*pueba trigger:
Con esta instrucción del delete, y el trigger programado, se borran todos los empleados de la tabla, pero se
registran solo los que ganan menos de los 900 euros.
*/
delete empleados ;
select * from empleados_baja ;
2º ASIR Página 2
TRIGGERS-1-SOLUCIONES
– Los datos que se insertan en esta tabla son los relativos al empleado
que se da de baja en la tabla empleados, salvo en las columnas usuario y
fecha se grabarán las variables del sistema USER y SYSDATE que
almacenan el usuario y fecha actual.
2º ASIR Página 3
TRIGGERS-1-SOLUCIONES
/*pueba trigger
Solo hay 3 empleados con menos de 500 euros, y estan en el dpto 10 vamos a ver si
los borra y los registra. Con esto borra a todos los del dpto 10 ( que son 11), pero registra a los 3 que cumplen lo
del sueldo, y que están asignados al dpto 10*/
delete empleados where nrodep=10 ;
select * from empleados_baja ;
4. Crea un trigger que cada vez que se inserte un registro en la tabla PRODUCTOS
se inserte un nuevo registro en la tabla Precios, con el código de producto, un
precio que será el máximo de la tabla precios y la fecha actual.
2º ASIR Página 4
TRIGGERS-1-SOLUCIONES
update empleados
set salario= 1300
where nroemp=1;
--veo la nueva asignación
6. Cree un disparador que se dispare cada vez que se inserte un nuevo empleado
y en el caso de que el salario introducido supere los 1000 o sea inferior a 500
coloque "null" en el registro.
--Salario NO NULO
insert into empleados(nroemp, nombre, apellido1, apellido2,salario, nrodep,
nro_oficio) values (9001, 'pepa','martin','navarra',700,10,8);
----compruebo que NO asigna un nulo en el salario de ese empleado, y le pone el 700
select * from empleados where nroemp=9001;
2º ASIR Página 5