Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/10/2006, 09:28
Avatar de Developer9
Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 11 meses
Puntos: 47
Disculpa, edité el mensaje para poner el codigo completo. Lo que añadi fue:

IF (@@error <> 0)
BEGIN
ROLLBACK TRAN
RETURN
END

luego del insert en la tabla cabecera.

Ejecutando el procedimiento en el analizador de consultas me dice 1 row affected (el insert de la cabecera) y luego me salía un error en el insert de la primera row del detalle (como es detalle hay muchos registros, por ello el while), y luego me salia el error que os comento.

El error en el insert del detalle ya lo identifiqué y lo corregí, y volví a ejecutar el procedimiento y no hay errores, y le hice un select a las tablas para verificar los insert y me he di cuenta que el insert en latabla de la cabecera (de la ejecución anterior, la que tenía el error) si se hizo a pesar de que se tuvo que haber hecho roll back; entonces modifiqué el procedimiento para dejarlo como antes (con el error) lo volví a ejecutar y nuevamente se inserta en la cabecera, me sale el error en el insert del detalle y me sale el error raro que comento y al hacer el select a la tabla cabecera el registro insertado si está

Contestando tus preguntas:
Hago un solo BEGIN TRAN
No es un sp anidado, lo ejecuto una sola vezz
El error se me presenta en el insert del detalle.