Sugerencias para Query

05/07/2004 - 18:23 por RCA | Informe spam
Hola grupo,

Tengo un SP que realiza varios procesos internamente. En su totalidad son
ingresos de datos con algunnas excepciones donde se realizan
actualizaciones. En total son unas 15 tablas aproximandamente.

Lo que necesito es controlar la inserción/actualización de datos para cada
una de estas; en caso de haber error, guardar este en una tabla de Logs ya
definida . He estado investigando la utilización de Begin Transaction con
sus respectivos Commit o Rollback, pero me gustaría tener alguna
recomendación por parte de ustedes en la construcción del Query.

La lógica del código T-SQL sería algo así:

SP_CargaDeDatos
Begin

Insert TablaDestino1 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen1
Insertar en el Proceso 1.', 16, 1)


Insert TablaDestino2 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen2
Actualizar en el Proceso 2.', 16, 1)

Insert TablaDestino3 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen3
Insertar en el Proceso 3.', 16, 1)
.
.
.
etc.

End

¿Cuál es la mejor forma de controlar las transacciones? ¿Donde las utlizo
para guardar el error en la tabla de Logs?

Gracias.

RCA.
 

Leer las respuestas

#1 Pedro
05/07/2004 - 19:59 | Informe spam
Hola...
Podrías probar manejando despues de cada transacción
revisar si @@error es diferente de cero y guardas el texto
q definiste o vas a buscar la descripción del error y esa
guardas ... ojala te sirva

Saludos


Hola grupo,

Tengo un SP que realiza varios procesos internamente. En


su totalidad son
ingresos de datos con algunnas excepciones donde se


realizan
actualizaciones. En total son unas 15 tablas


aproximandamente.

Lo que necesito es controlar la inserción/actualización


de datos para cada
una de estas; en caso de haber error, guardar este en una


tabla de Logs ya
definida . He estado investigando la utilización de Begin


Transaction con
sus respectivos Commit o Rollback, pero me gustaría tener


alguna
recomendación por parte de ustedes en la construcción del


Query.

La lógica del código T-SQL sería algo así:

SP_CargaDeDatos
Begin

Insert TablaDestino1 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen1


('Problemas al
Insertar en el Proceso 1.', 16, 1)


Insert TablaDestino2 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen2


('Problemas al
Actualizar en el Proceso 2.', 16, 1)

Insert TablaDestino3 Campo1,Campo2,Campo3
Select Campo1
Campo2
Campo3
From TablaOrigen3


('Problemas al
Insertar en el Proceso 3.', 16, 1)
.
.
.
etc.

End

¿Cuál es la mejor forma de controlar las transacciones?


¿Donde las utlizo
para guardar el error en la tabla de Logs?

Gracias.

RCA.


.

Preguntas similares