icono_twiter icono Facebook
Carlos García Pérez

Técnico especialista en informática de empresa (CEU).

Ingeniero Técnico en Informática de Sistemas (UPM)

Creador de MobileTest, Haaala!, Girillo, toi18n.

Charla sobre desarrollo de aplicaciones en Android.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2008-07-11

Tutorial visitado 94.321 veces Descargar en PDF
Triggers SQL

Triggers SQL

Todos estaremos de acuerdo en que una de las cosas más importantes en todo negocio son los datos, ¿verdad?. Pues bien, imagine una base de datos sobre la que interactuan concurrentemente muchos usuarios a través de distintas aplicaciones, web o de escritorio. ¿Qué sucedería si una de estas aplicaciones gestionase los datos incorrectamente?.

Por ejemplo, imagine una aplicación de escritorio que interactua directamente a través de JDBC con la BD y que dicha aplicación usa la hora de la máquina del usuario como hora en la que se realizan las operaciones, ¿terrible, verdad?.. pues bien, estos y otros problemas pueden ser solucionados con mecanismos como los triggers o disparadores de BD (como veremos en los ejemplos).

Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc).

A continuación y a modo de consulta os voy a mostrar un ejemplo de un Trigger DML que realiza las siguientes tareas:
Dada una tabla con información sobre "expedientes", vamos a crear un Trigger que controle las modificaciones del "estado del expediente" de la siguiente manera:

  1. Anotará en el campo "stateChangedDate" la fecha/hora en la que se produjo un cambio de estado.
  2. A modo de histórico, insertará un registro en tabla "expStatusHistory" con información sobre los cambios de estado de cada expediente.

Fácil ¿verdad?, pues bueno, mamos a la obra.

Ejemplo en MySql.

Ejemplo en SQLServer.

Si ahora modificasemos un registro a través de una sentencia como la siguiente el Trigger sería ejecutado y realizaría su trabajo.

Cabe destacar que en este tema se puede ir mucho más allá, pero bueno a modo didáctico y recordatorio están bastante bien artículos de este tipo.

Referencias

Despedida

Bueno, espero que os haya servido de utilidad este pequeño tutorial, yo personalmente lo usaré a modo de consulta, pues hay veces que uno se tira mucho tiempo en otros entornos y luego vienen bien estos tutoriales para refrescar la memoria ;-).

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.
cgpcosmad@gmail.com

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2011-07-04-18:52:01

Autor: comarcar

Saludos,
Actualmente hay un ERP funcionando en la empresa para ser mas exacto es un Jedward y del cual necesito extraer y luego colocar datos desde sqlserver. Me podrian dar una idea de por donde empezar por favor?... En el JD estan los datos y lo que se desea es hacer una interface de conexion para poder extarer y luego colocar datos.
Agrdezco de antemano su ayuda.