En esta clase vamos a ver cómo crear un trigger y ante determinados eventos almacenar un loop.
Entonces lo que vamos a lo que vamos a realizar es por ejemplo vamos a crear un trigger para guardar
un log.
Si el paciente que se ingresa en la base de datos es del país México por ejemplo entonces lo que vamos
a hacer es primeramente vamos a crear una tabla que nos va que nos va a servir de log.
Vamos a crear una tabla hacemos una tabla nueva y le vamos a colocar por ejemplo y de paciente de tipo
paciente y le vamos a colocar 11 bloquearle y de país y de país
de tipo este tipo de todos lo tenemos definido si país bien y vamos a colocarle la fecha de descarga
de este registro entonces vamos a colocarle el campo fecha fecha de alta.
Vamos a probar daytime perfecto entonces en principio vamos a ponerle a esta tabla clave primaria vamos
a establecer la clave primaria y de paciente con eso está bien vamos a guardarla y le vamos a especificar
el nombre le vamos a poner pacientes o pacientes punto paciente loco le vamos a poner paciente ahí está
bien.
Esta es la tabla que nosotros vamos a estar utilizando adentro del Trigger para almacenar el suceso
del evento de creación del paciente.
Esta tabla lo vamos a cerrar y ahora vamos a crear el thriller propiamente propiamente dicho entonces
lo que tenemos que hacer es criadita.
Si después colocamos la palabra triguera y luego le colocamos el nombre del triguera nosotros vamos
a colocarlo aquí por ejemplo va a ser el nombre del thriller va a ser pacientes
creados sí y luego del nombre le colocamos la cláusula on Elon lo que le especificamos es sobre qué
tabla vamos a disparar este evento entonces la tabla sobre la que vamos a disparar va a ser paciente
entonces cuando la tabla paciente registre un cambio si un insert por ejemplo que es el caso que vamos
a hacer ahora vamos a ejecutar este thriller y donde especificamos que el evento es el de insert acá
le decimos after insert Chi acá le estamos diciendo que después del insert se tiene que ejecutar este
trigger disparador.
Este thriller pacientes criados y pacientes creados a comer vino dice Ahí está entonces acá podríamos
colocarle otro evento por ejemplo UPDATE DELETE o podemos colocarle los tres eventos juntos sí pero
primeramente vamos a ver el caso de insert que es el másfácil y vamos a ver cómo se realizan.
Entonces colocamos la cláusula hash y aquí abajo si lo que vamos a hacer es una comprobación lo que
vamos a hacer es una comprobación y vamos a evaluar si el registro que se insertó en la tabla paciente
es del país México Cómo comprobamos eso.
Bueno básicamente lo comprobamos con ONIF si abrimos y cerramos paréntesis y realizamos un selector.
Si realizamos un Select de campo y de país
y le colocamos from sí y acá cuando le colocamos from no le vamos a especificar la tabla paciente sino
que le vamos a especificar una palabra reservada así que dentro del Trigger es reconocida.
Si es insert esto lo toman como que es el último registro insertado en la tabla paciente y lo que hacemos
aquí es directamente ya como como este es el último registro si esto lo igualamos a la a la palabra
Meaux de México.
Si fíjense lo que vamos a hacer ahora es insertar en la tabla del logo INSERT INTO paciente.
Lo vamos a colocar en los valores por default y de paciente y de país.
Y fecha Alta.
Vamos a insertar los el registro que se acaba de insertar corresponde al país de México entonces para
insertarlo lo que hacemos es hacemos un insert Select es decir insertamos lo que seleccionamos más abajo
aquí y de donde lo hacemos de la tabla de o mejor dicho del registro incertezas tal cual hicimos la
comprobación.
Esto es lo que nos hace distraernos el último registro insertado le colocamos un alias y ahí colocamos
y punto y paciente coma y punto y de país.
Y aquí le colocamos la fecha y hora cómo le colocamos la fecha y hora actual con la función de sistema
gastais nos devuelve la fecha y hora actual.
Entonces vamos a ejecutar esto vamos a F5.
Ahí lo creó el triguero.
Sí entonces este thriller está creado y por lo tanto ya está terminado en la tabla paciente log.
No tengo no tengo nada no tengo ningún registro porque todavía el trigo no se ha disparado por qué no
se ha disparado porque no se ha insertado nada en la tabla pacientes.
Entonces vamos a insertar con el script de alta de paciente un registro para realizar una prueba.
Aquí vamos a colocarle por ejemplo el país Perú para qué.
Para que justamente el trigger no realice nada y comprobemos si está correcto entonces vamos a insertar
el paciente le damos F5 me dice que el paciente ya existe vamos a cambiarle el documento del paciente.
El paciente se agregó correctamente vamos a revisar la tabla de log acá no debería tener ningún registro
aún es correcto.
No tengo nada y ahora vamos a ejecutar vamos a ejecutarlo con el país de México a ver si realmente nos
graba el log.
Entonces aquí le vamos a cambiar el vamos a cambiarles el documento vamos a insertarlo el paciente segregó
correctamente me dice y vamos a revisar la tabla de log A ver si realmente insertó el registro y si
ahí lo insertó el registro fijense me coloco ahí de paciente 15 que es el registro que insertó en la
tabla el paciente.
El país México y la fecha y hora de alta en que se ejecutó este proceso.