Trigers
PostgreSQL Módulo 1 - Triggers
Rodrigo Soliz Rocabado (rodrifer@gmail.com)
June 14, 2007
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 1
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otrotrigger
Triggers
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 2
Triggers
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
Hemos visto las ventajas que la funciones nos proporcionan alsimplificar acciones en nuestra base de datos. Pero estas acciones requieren la intervención de una persona encargada de ejecutar las funciones cuando se requiera de su actuación. Los Triggers al contrario son funciones que se ejecutan de forma automática en respuesta a ciertos eventos que ocurren en la base de datos.
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 3
Ejecución de untrigger
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
Cuando se ejecuta un trigger? Antes o después de una inserción (INSERT) Antes o después de una actualización (UPDATE) Antes o después de un borrado(DELETE)
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 4
Definición de un trigger
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
La definición de un trigger consta de dos partes, 1. Ladefinición de la función asociada al trigger que es la que ejecuta la acción en respuesta al evento (INSERT, UPDATE, DELETE) 2. La definición formal de trigger que indicará: (a) De que tabla se esperarán los eventos (b) A que tipo de evento se responderá
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 5
Partes de un trigger
Triggers Triggers Ejecución de un trigger Definición de un triggerPartes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
Una función tipo trigger es similar a una función normal, salvo por unos detalles:
Ê Ì ÇÊ Ê ÈÄ ÍÆ ÌÁÇÆ ÒÓÑ Ö ÙÒ ÓÒ ´Ô Ö Ñ¸ Ô Ö Ñµ Ê ÌÍÊÆË ØÖ Ö Ë °° Ä Ê Ú Ö Ð Ú Ö Ð ÁÆ × ÒØ Ò × ÒØ Ò Ê ÌÍÊÆ Ö ØÓÖÒÓ Æ °° Ä Ò Ù ³ÔÐÔ ×ÕгPrimero, el tipo de retorno ya no es un tipo normal de PostgreSQL, sino el tipo especial trigger. Segundo, dependiendo de las acciones del trigger, el parámetro en el comando RETURN puede variar, eso lo veremos mas adelante :-)
http://www.postgresql.org
PostgreSQL Módulo 1 – Slide 6
Definición formal del trigger
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de untrigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
Luego de elaborada la función trigger, debemos definir formalmente el trigger de este modo:
Ê Ì ÇÊ Ê ÈÄ ÌÊÁ Ê ÒÓÑ Ö ØÖ Ì Ê ÇÊ ÁÆË ÊÌ ÍÈ Ì ÇÆ ÒÓÑ Ö Ø Ð ÇÊ À ÊÇÏ ËÌ Ì Å ÆÌ ÍÌ ÈÊÇ ÍÊ ÙÒ ÓÒ Ö Ä Ì
http://www.postgresql.org
PostgreSQL Módulo1 – Slide 7
Explicación
Triggers Triggers Ejecución de un trigger Definición de un trigger Partes de un trigger Definición formal del trigger Nuestro primer trigger Que es lo que queremos? Variables del sistema Variables del trigger Función trigger Otro trigger
CREATE TRIGGER nombretrigger = Creación del trigger [AFTER | BEFORE ] = Antes o después del evento [INSERT | UPDATE | DELETE...
Regístrate para leer el documento completo.