Documente Academic
Documente Profesional
Documente Cultură
A. TÍTULO DE LA EXPERIENCIA
Programando: Disparadores (Triggers)
B. TEMAS:
• Tema #8: Disparadores
C. OBJETIVO(S):
• Estudiar los Disparadores en Lenguaje SQL y su aplicación en la programación
Problemas Resueltos
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #1. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AS
BEGIN
RAISERROR ('No está permitido borrar ni modificar tablas!',
16, 1)
ROLLBACK TRANSACTION
END
GO
--Eliminando el Disparador
DROP TABLE TB_HORARIO
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
Laboratorio # 6
Se usa disparador dirigido a la base de datos que tiene como objetivo mostrar un mensaje cada
vez que se intente eliminar o modificar una tabla.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #2. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Como en el caso anterior el trigger está dirigido a mostrar un mensaje, con la diferencia que en
este caso el trigger está dirigido a la tabla TB_Facultad y dicho mensaje se muestra cada vez que
se inserta un nuevo registro.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #3. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Se crea una tabla que guarda la actividad realizada de tal forma que queda registrado la actividad
que se realizó, la fecha en se momento (obtenida del sistema), el usuario, una descripción.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #4. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Creación de un desencadenador AFTER INSERT.
CREATE TRIGGER Tr_Insercion_Facultad
ON TB_FACULTAD
AFTER INSERT
AS
BEGIN
DECLARE @nombre_facultad VARCHAR(60)
SELECT @nombre_facultad = TB_FACULTAD.Nombre_Facultad
FROM INSERTED TB_FACULTAD
INSERT INTO DB_INSERCION_REGISTRO (Accion,
Descripcion)
VALUES ('Inserción de datos',
'Se ha insertado un nuevo registro en
la tabla facultad con el nombre: ' +
@nombre_facultad)
END
GO
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #2. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #2. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Escriba el código de un Disparador que permita una vez actualizado el
nombre de la carrera, actualizar todos los correos de los estudiantes
afiliados a la carrera actualizada. El Correo Electrónico debe quedar
con el nuevo nombre de la carrera más el servidor '@utp.ac.pa'.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
Laboratorio # 6
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #3. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Escriba el código de un Disparador que permita actualizar todos los
registros de un curso para un docente en un año y semestre concreto
disparando el evento desde un procedimiento almacenado. Se deben pasar
como parámetros de entrada del procedimiento almacenado: El año a
corregir, el nuevo año, el código del docente y el semestre.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
Laboratorio # 6
D. RESULTADOS:
• Conocimiento sobre la programación de Procedimientos Almacenados en el desarrollo de
aplicaciones de software con Transact SQL.
E. CONSIDERACIONES FINALES:
Opinión del estudiante sobre el logro del objetivo y el desarrollo de la experiencia.