Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2011, 08:39
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Insertar en una tabla de errores cuando hago una transaccion

Buenas a todos, estoy utilizando una transaccion para guardar en varias tablas,
Si la transaccion falla, muestro un cero, sino, muestro un 1
Pero lo que yo realmente quiero es no mostrar ese cero, sino insertar en una tabla de errores, el error que se genero
Inicialmente la tengo asi:
Código SQL:
Ver original
  1. BEGIN TRANSACTION BEGIN TRY
  2.  INSERT INTO HCINGRES VALUES ('5820700','0000700724', 'COX001','176', '04/08/2011 09:24:05', '2', '05/09/1981','0' , '1', '9', '15' ,'04/08/2011 09:24:05', '1110490997', NULL, NULL, '0', 'N', '0', NULL, '0', '1501 ', '1', '1', NULL)
  3. INSERT INTO HMCOX001(GPACODIGO ,AINCONSEC, HCCTIPOHC, HCCONFOLI, GMECODIGO, HMFECHARE,EQUIPOX,FECFIN,FECINI,OBSERVA) VALUES ('5820700' , '0000700724' , 'COX001' , '176' ,'1110490997' , '04/08/2011 09:24:05','0','20110804 09:24','20110804 09:24','')
  4. SELECT '1' AS RES COMMIT TRANSACTION END TRY BEGIN CATCH
  5. SELECT '0' AS RES ROLLBACK TRANSACTION
  6. END CATCH

Para que me agregue a la tabla lo hago asi:

Código SQL:
Ver original
  1. BEGIN TRANSACTION BEGIN TRY
  2. INSERT INTO HCINGRES VALUES ('5820700','0000700724', 'COX001','176', '04/08/2011 09:24:05', '2', '05/09/1981','0' , '1', '9', '15' ,'04/08/2011 09:24:05', '1110490997', NULL, NULL, '0', 'N', '0', NULL, '0', '1501 ', '1', '1', NULL)
  3. INSERT INTO HMCOX001(GPACODIGO ,AINCONSEC, HCCTIPOHC, HCCONFOLI, GMECODIGO, HMFECHARE,EQUIPOX,FECFIN,FECINI,OBSERVA) VALUES ('5820700' , '0000700724' , 'COX001' , '176' ,'1110490997' , '04/08/2011 09:24:05','0','20110804 09:24','20110804 09:24','')
  4. SELECT '1' AS RES
  5.  COMMIT TRANSACTION END TRY BEGIN CATCH
  6.  INSERT INTO HCERRORTRAN VALUES ('0000700724', '176', '5820700', NULL) ROLLBACK TRANSACTION
  7. END CATCH

Pero no me esta ingresando nada en la tabla HCERRORTRAN, si la transaccion falla, como puedo manejar los errores en una transaccion?

Espero me puedan dar alguna guia o si tienen enlaces me los puedan dar

Muchas gracias