• Lunes 18 de Noviembre de 2024, 01:24

Autor Tema:  Triggers  (Leído 1335 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Triggers
« en: Jueves 22 de Febrero de 2007, 00:12 »
0
Que tal amigos .... como les va , tengo la siguiente inquietud

Si yo tengo una tablaX con un trigger (para insert ) y un Procedimiento Almacenado que lo que me va a hacer es ingresar registros a mi tablaX, que se va a trabajar con Transacciones.

Código: Text
  1. Create  proc prueba
  2. as
  3. Begin tran
  4.    insert pprueba(campo1,campo2)
  5.    select 'a'
  6.            , 'b'
  7.    IF @@error <>0 then
  8.       RaisError (40001,'No se pudo ingresar datos a la tabla'
  9.       rollback tran
  10.       goto  BITACORA
  11.   Comit Tran
  12. end
  13. -- ------------------
  14.   -- Etiqueta no aplica
  15.   -- ------------------
  16.   BITACORA:
  17.       Insert into tablaY select getdate(), @mensaje_error
  18.  

Ahora mi inquietud es la siguiente , segun lo que he aprendido esque si un trigger tiene un Rollback Tran el , al momento de ejecutarse el Rollback automaticamente aborta toda la ejecucion del bloque donde fue llamado en este caso el del SP Prueba, por consiguiente el ETIQUETA que esta depues de mi Rollback que esta en el SP nunca se va a dar , y no me quedara registrado el error en  mi tablaY ?

Como puedo yo controlar ese error ? porque quiero que cuando se dispare el trigger, siga el flujo del SP para que me grabe en mi tablaY el error..  :(

Gracias por la ayuda  :scream:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa