Está en la página 1de 5

Base de Datos / IV ciclo

GUIA PRACTICA 12

TRIGGERS: DISPARADORES

Objetivos:

❖ Crear TRIGGERS para distintas casos aplicados


❖ Crear triggers para las diferentes Bases de Datos

Un TRIGGER o disparador (Desencadenante) es un procedimiento almacenado de tipo


especial que se invoca automáticamente cuando se modifican los datos de una tabla con las
instrucciones INSERT, UPDATE, o DELETE. Un disparador puede consultar a varias tablas y
contener instrucciones SQL. Los usos principales de un disparador son los siguientes:

La sintaxis para crear un disparador es:

CREATE TRIGGER Nombre_disparador


ON Tabla
EXEC [WITH ENCRYPTION]
FOR DELETE l INSERT l UPDATE
AS
Sentencias_SQL

Donde :
ENCRYPTION :Encripta las filas almacenadas en la tabla de sistema
Syscomments, correspondientes al disparador.
DELETE l INSERT l UPDATE : Indican la instrucción que se va modificar los datos de la
tabla. Se debe especificar al menos una opción. Se puede
combinar cualquiera de las tres instrucciones.
AS : Procede a las sentencias SQL

Para probar un disparador hay que ejecutar un script que contenga las instrucciones contenidas en
el disparador.

Adicionalmente es necesario conocer conceptos de:

TRANSACTION: Se utiliza para iniciar una o varias instrucciones


COMMIT: Para terminar una transacción
Rollback: Regresa a un estado anterior

Preparado por: Dra. Norma Catacora Flores 1


Base de Datos / IV ciclo

Paso 1. vamos a crear un disparador para la bd hospital


Para ello debe invocar a la base de datos Hospital
Use Hospital
Go

Paso 2: visualizar los datos de paciente y observe los datos

SELECT * FROM Paciente


GO

Paso 3. /*Crear un disparador que de aviso que se esta insertando que pruebe si
LA DIRECCION se modifica por una instrucción INSERT:*/

CREATE TRIGGER DIRE_PACIENTE


ON PACIENTE
FOR INSERT
AS
IF UPDATE(DirPac)
PRINT 'Columna Direccion paciente modificada'

Paso.4 Debe verificar en la carpeta Trigger la creación de Trigger Dire_Paciente

Paso 5.--EJECUTAR F5

Preparado por: Dra. Norma Catacora Flores 2


Base de Datos / IV ciclo

Paso 6. Insertar el registro P015 y verificar en los mensajes

INSERT Paciente(CodPac, NomPac, ApelPac, DirPac,PobPac,ProPac,PosPac,TelPac,


NacPac)
VALUES('P015','Marussia Helena','Palomino Saltijeral','PSJ.Los Sauces
23','7455','ANTABAMBA','116','983709870','12/08/2000')

Paso 7. Nuevamente haga un select y veras los cambios

SELECT * FROM Paciente


GO

Preparado por: Dra. Norma Catacora Flores 3


Base de Datos / IV ciclo

Paso 8./*Un disparador que no permita borrar registros de la tabla PAciente:


; en este caso habra intento de borrar el codigo P015; Digitar el siguiente
script y ejecutar*/

CREATE TRIGGER NO_BORRAR_REGISTROS


ON PACIENTE
FOR DELETE
As
BEGIN
PRINT 'No se pueden borrar Registros'
ROLLBACK TRANSACTION
END

Paso 9. Veriricar la Creacion de trigger NO_BORRAR_REGISTROS

Pado 10.--Ejecute con F5 Cual es el resultado?


--Para probar el disparador, escribir la sentencia SQL siguiente:

DELETE PACIENTE
WHERE CodPac = 'P015'
GO

Ejecute con F5 Cuál es el resultado final? Muestre los resultados y explique

Tarea:
1.Hacer dos disparadores para la base de datos Película
2. Hacer dos disparadores para la base de datos Producto

Preparado por: Dra. Norma Catacora Flores 4


Base de Datos / IV ciclo

Bibliografía

a) KROENKE DAVID M. “Procesamiento de bases de datos”- (Fundamentos, diseño e implementación)


Editorial Pearson, España, 8va Edición. 2017

b) CARLOS JAIRO, SÁNCHEZ ALDANA; FERNANDA MOSQUERA MOTTA, “Modelamiento de base de


datos: Metodología práctica y aplicada” Universidad Piloto de Colombia . Primera Edición, 2020

c) PIÑEIRO GÓMEZ, JOSÉ MANUEL “Diseño de bases de datos relacionales”, Editorial Paraninfo, primera
edición. España 2014

d) GARCÍA MARISCAL, ANA BELÉN “Diseño de bases de datos relacionales”, Editorial Elearning, S.L.,
Quinta edición. España,2015

e) LUIS FELIPE WANUMEN SILVA, “Bases de datos en SQL Server”, Ediciones ECOE, primera Edición.
Colombia 2018.

f) ANTONIO PADIAL SOLIER “Aprende SQL en un Fin de Semana “ Edición Kindle, Primera edición.
España. 2017

g) ERIC GODOC, ANNE-CHRISTINE BISSON. “SQL Los fundamentos del lenguaje” , Segunda Edición.
Ediciones ENI, Barcelona. España. julio 2018

h) MARIO PIATTINI VELTHUIS, JORGE MERINO GARCÍA, “Calidad de Datos”, Empresa editora Ra-Ma;
no indica edición. Madrid. España. 2018

Preparado por: Dra. Norma Catacora Flores 5

También podría gustarte