Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5. Creamos un disparador para que no permita eliminar ms de un registro a la vez de la tabla empleados:
create trigger dis_empleados_borrar on empleados for delete as if (select count(*) from deleted)>1 begin raiserror('No puede eliminar ms de un 1 empleado', 16, 1) rollback transaction end;
6. Creamos un disparador para que no permita actualizar el campo "documento" de la tabla "empleados":
create trigger dis_empleados_actualizar on empleados for update as if update(documento) begin raiserror('No puede modificar el documento de los empleados', 16, 1) rollback transaction end;
en
la
seccin
El trigger no se dispar porque est deshabilitado. Podemos verificar que los registros de eliminaron recuperando los datos de la tabla:
select *from empleados;
El trigger se dispara, muestra el mensaje y deshace la transaccin. 12. Intentamos ingresar un nuevo empleado en "Gerencia":
insert into empleados 123','Gerencia'); values('0008','Juan Juarez','Jamaica
El trigger se dispara, muestra el mensaje y deshace la transaccin. 13. Deshabilitamos los disparadores de insercin y actualizacin definidos sobre "empleados":
alter table empleados disable trigger dis_empleados_actualizar, dis_empleados_insertar;
El trigger "dis_empleados_insertar" no se dispara porque est deshabilitado, el registro se agreg a la tabla. Verifiqumoslo:
select *from empleados;
Ya no podemos eliminar ms de un registro, actualizar un documento ni ingresar un empleado en la seccin "Gerencia"; lo intentamos:
update empleados set documento='0008' where documento='0001';