![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Resp
Si el triger falla entonces falla todo ya que esto esta envuelto en una misma transsacion.
y oracle hace lso mismo que firebird ya que esto n e suan propieda de oracle o de firebir esto e sun regla que existe para todo slao manejadores d ebase d edatos que siaganel estandar(que no creo que oracle la rompa)
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
#2
|
|||
|
|||
|
Pero....
Ok...todo lo que han dicho esta tan claro como el agua....Pero quisiera hacer una pregunta (debido a que soy un principiante en interbase):
SE menciono que el trigger es una transaccion...es decir que no tengo necesidad de colocar las clausulaas STARTRANSACCION (o el correspondiente)..COMMIT...ROLBACK ETC...para que el triguer y toda la secuencia de acciones sean atomicas.? Muchas gracias..
__________________
LK |
|
#3
|
|||
|
|||
|
El commit / rollback se deben hacer por fuera de los triggers, me explico, supongamos que tu inicias unas sesion de IBExpert, haces algunas modificaciones en tablas que disparan unos triggers, si no se presenta error desde los triggers y das un rollback entonces se deshacen los cambios.
Si estas modificando un registro y pichas el boton de grabar el registro y se dispara un error desde el trigger, vas a observar que el registro continua en modo de edicion, debido a que el cambio no fue aceptado. Lo mismo pasa cuando estas trabajando con delphi, los cambios se fijan a la base de datos solo cuando en tu programa se ejecuta el metodo Commit o Commit Retaining (si usas los componentes IBX), de lo contrario si haces cambios desde tu programa a los datos y sales sin mas ni mas, cuando vuelvas a entrar a tu programa ves que no paso nada. Es un error muy comun cuando se esta en esta etapa de aprendizaje, a mi me paso y estuve dias como loco para saber que pasaba.
__________________
Luis Fernando Buelvas T. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|