Necesito Ejemplo de Trigger
Hola compañeros, podían ponerme, cual es la función exacta de un trigger y un ejemplo de el mismo para firebird, pero lo más claro posible, lo he buscado en internet, pero me resulta algo lioso de entender.
Como siempre gracias de antemano. |
Cita:
Los trigger se utilizan para realizar alguna tarea cuando ocurre algo en la base de datos (cuando se inserta, se edita, se refresca, etc).- Saludos.- |
Ese hilo de ejemplo no es buen ejemplo, sino todo lo contrario, además no es sobre triggers sino sobre transacciones.
|
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 |
Hola José.
Algunos enlaces para ampliar:
Saludos :) |
gracias compañeros ya tengo material de estudio, a ver si me aclaro
|
Hola compañero,
Ya veo que te han ayudado , pero si necesitas algo más, a tu disposición, me mandas un privado y te llamo si hace falta, a condición de que lo que hagamos lo publiquemos en el Club. Saludos |
Demos los créditos a http://firebird21.wordpress.com/2014...do-un-trigger/
|
Cita:
En primer lugar si tiene la amabilidad de comparar los textos vera que solo son coincidencias. Es cierto que debí colocar la fuente pero no tiene nada que ver con lo que usted indica. Lamento la ligereza con que hace tal afirmación. La información que escribi fué por conocimientos propios y apoyado en fragmentos traducidos por mi de: The Firebird Book A Reference for Database Developers Autora: Helen Borrie Capitulo 31: Triggers, páginas 641, 642, 646, 674. El código fuente de los script sql es de mi creación. Saludos cordiales |
Cita:
Cita:
Cita:
Gracias a todos |
La franja horaria es GMT +2. Ahora son las 18:39:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi