FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#4
|
|||
|
|||
Bueno aquí un pequeño aporte.
Los disparadores son un elemento importante entre las capacidades proporcionadas por firebird para la implementación de las reglas de negocio centralizadas. Un disparador se ejecuta cuando se realiza una solicitud que va a cambiar el estado de los datos en una tabla. Estos se ejecutan a nivel de registro y son parte de la trasacción que cambia el estado de un registro. Los disparadores pueden ser ejecutados en 2 faces, y son aplicados a uno de los tres eventos: Faces - before (antes) - after (después) Eventos - Inserting (inserción) - Updating (actualización) - Deleting (eliminación) Por supuesto las faces y eventos se pueden combinar Before Insert: Antes de insertar After Insert: Después de insertar Before Update: Antes de actualizar After Update: Después de acualizar Before Delete: Antes de eliminar After Delete: Después de eliminar Otro punto importante es que dentro de estos eventos se puede acceder a los valores de los campos del registro a traves de las variables NEW y OLD. Las variables NEW.* tienen valor en los eventos de INSERT y UPDATE, OLD.* en los eventos UPDATE y DELETE Hay que tener presente que NEW.* y OLD.* tienen valores nulos en los eventos DELETE y INSERT. La pregunta que surge es para que usar estos variables NEW.* y OLD.*, bueno la respuesta es: - Asignar valores iniciales validos bajo ciertas condiciones - validar o transformar los datos ingresados - Asignar claves y valores para actualizar otras tablas - Asignar claves auto-incrementales. Ejemplos reales: BEFORE INSERT OR UPDATE: AFTER UPDATE:
Espero que sea de utilidad, Saludos cordiales |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
necesito ejemplo de como usar TTAB | federiconqn21 | Varios | 3 | 02-05-2008 15:45:21 |
Necesito ejemplo de Tservices | QuarkBcn | OOP | 4 | 26-06-2007 22:05:29 |
Un trigger que dispara un procedimiento que dispara un trigger... | sitrico | Firebird e Interbase | 5 | 04-06-2007 22:05:13 |
ejemplo de rup | droguerman | OOP | 3 | 02-03-2007 18:15:07 |
Ejemplo de OOP | David | OOP | 5 | 07-11-2006 15:02:07 |
|