![]() |
Trigger y Update
Hola gente, una consulta.
Necesito un Trigger que al modificar un registro y siempre se que cumplan ciertas condiciones agregue un en un campo autoincremental el nunero correspondiente.
el problema es que en el campo autoincremental (nimagen), si ingresa el valor aunque no se cumplan las restricciones. Esta bien escrito este trigger... es de tipo before update. Gracias |
que motor usas???
|
Firebird 2.0
|
Voy a tratar de explicar esto con un poco mas de detalle.
Utilizo Firebird 2.0, y necesito un trigger que se dispare al momento de modificar una la detrendiciones, expecificamente el campo imagen: Varchar (1). Algunos otros campos de importancia dentro de la tabla estan: nren : Integer ncorr: Integer usuario: String f_b: char (1) Desde la aplicación se modifica el registro con esta sentencia.
Ahora bien, el trigger debe modificar el campo NImagen: Integer, autoincrementado por un generador, el mismo numero para todos los registros que cumplan con las condiciones de los campos usuario, nren, f_b y ncorr, asociado a la modificación por parte de la aplicación. Se puede hacer esto? Espero que ahora se entienda mi consulta. Saludos |
Según veo, estas haciendo una revisión del tipo "Si esto se cumple, haz el update"; tienes que considerar que la instrucción "update" ya la tienes definida y es está la que ejecuta el disparador, vamos, que ya la tienes.
Lo que tendrías que hacer, es una revisión del tipo: "Si esto no se cumple, no hagas nada y te sales" y en el "te sales", entonces cancelas (rollback) la instrucción "update" que intentabas realizar. Código:
trigger begin |
La franja horaria es GMT +2. Ahora son las 06:38:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi