Triggers o eventos de tabla: Qué son y cómo funcionan

¿Sabes que con los triggers o eventos de tabla puedes realizar acciones antes, durante o después de dar de alta, modificar o eliminar un registro?

Primero vamos a definir que son los triggers o eventos de tabla.

Según la definición de Velneo

Un trigger es un proceso definido por el programador que es ejecutado automáticamente al producirse el evento al que hace referencia.

Desde este enlace puedes acceder a la ayuda oficial sobre los triggers.

Consideraciones importantes sobre los triggers

Antes de ver los tipos de triggers que Velneo pone a nuestra disposición, déjame que te cuente 2 consideraciones muy importantes por si hay algún despistado en la sala… “que haberlos haylos”.

  • Son “eventos de tabla”… por lo tanto se ejecutan en el servidor. No pongas ninguna instrucción que requiera la interacción con el usuario, puesto que no lo verá.
  • Cualquier cambio que se desee realizar en la ficha en la que nos encontremos, siempre deberá ser hecho antes de su grabación, es decir, en el trigger anterior.

Avisado quedas… ¿Vale Rodolfo?

Tipos de triggers o eventos de tabla

Un trigger es un subobjeto del objeto tabla por lo tanto para crearlo tendremos que hacerlo desde el panel de subobjetos de la tabla en cuestión o bien desde la barra de opciones de menú de dicha tabla.

Al dar de alta un nuevo trigger, nos aparece el siguiente formulario:

Tipos de Triggers

Como podéis ver, tenemos 9 triggers disponibles:

  • 3 correspondientes al alta de una ficha.
  • 3 correspondientes a la modificación de una ficha
  • 3 correspondientes a la baja de una ficha.

El tipo de trigger a utilizar dependerá de 2 factores:

  • Si queremos modificar en el proceso la ficha en la que estamos posicionados
  • Si queremos realizar las acciones antes o después de que se lancen las actualizaciones programadas en la tabla.

Además, sobra decirlo, la primera instrucción del proceso tendrá origen ficha.

  • Alta: Anterior a un alta de ficha: el proceso se lanza cuando la ficha todavía no ha sido dada de alta en la base de datos, por lo que podemos realizar cambios en sus campos.
  • Alta: Interno a un alta de ficha: el proceso se lanza cuando la ficha ya ha sido dada de alta en la base de datos, por lo que no podemos realizar cambios en sus campos, pero todavía no se han lanzado las actualizaciones.
  • Alta: Posterior a un alta de ficha: el proceso se lanza cuando la ficha ya ha sido dada de alta en la base de datos, y además ya se han lanzado las actualizaciones.
  • Modificación: Anterior a una modificación de ficha: el proceso se lanza cuando la ficha todavía no ha sido modificada en la base de datos, por lo que podemos realizar cambios en sus campos.
  • Modificación: Interno a una modificación de ficha: el proceso se lanza cuando la ficha ya ha sido modificada en la base de datos, por lo que no podemos realizar cambios en sus campos, pero todavía no se han lanzado las actualizaciones.
  • Modificación: Posterior a una modificación de ficha:  el proceso se lanza cuando la ficha ya ha sido modificada en la base de datos, y además ya se han lanzado las actualizaciones.
  • Baja: Anterior a una baja de ficha: el proceso se lanza cuando la ficha todavía no ha sido eliminada de la base de datos.
  • Baja: Interno a una baja de ficha: el proceso se lanza cuando la ficha ya ha sido eliminada de la base de datos, pero todavía no se han lanzado las actualizaciones.
  • Baja: Posterior a una baja de ficha: el proceso se lanza cuando la ficha ya ha sido eliminada de la base de datos y además ya se han lanzado las actualizaciones.

Por si no ha quedado todavía lo suficientemente claro, te dejo un esquema que lo aclara mas.

Esquema sobre triggers

 

¿Alguna duda sobre los triggers o eventos de tabla?

Cuéntamela dejándome un comentario mas abajo.

Francisco José Vila Martín
ayudavelneo@ayudavelneo.com

Francisco José Vila es autor del blog Ayudavelneo desde donde ayuda a desarrolladores que se están iniciando en Velneo a acortar su curva de aprendizaje para que obtengan beneficios y sean rentables desde el minuto 1. Además es programador certificado y formador en la plataforma de desarrollo de aplicaciones empresariales Velneo V7. Ampliar información

No Comments

Post A Comment

Pin It on Pinterest