Que tal, el motivo de este mail es para pedir ayuda respecto al uso de
transacciones, a continuación explico mi problema.
Tengo que realizar una aplicación que lea los datos de un archivo de
texto con el siguiente formato:
01/01/2007*123456*121
01/01/2007*123456*1654
01/01/2007*123456*123444
.
Este archivo se debe de cargar por día y me tengo que asegurar que todos
y cada uno de los datos del archivo se guardaron en la BD, es decir, lo
que hago es leer líea por línea el archivo y después separo la
información para guardarla en los campos correspondientes de la BD, al
momento de ir separando la información la voy guardándo en la bd con un
sp que muestro en la parte de abajo, pero yo necesito asegurarme que
cada una de las líeas del archivo se gurdó correctamente en el archivo
de texto es decir que si al leer la última línea hubo un error y ese
registro no se pudo guardar en la BD por x motivo, entonces hacer que
los demas tampoco se guarden en la BD para así volver a cargar el
archivo hasta que todos los datos se guarden correctamente, entonces
creo que para realizar esto es necesario implementar transacciones
entonces mi pregunta es:
Para que esto suceda tan solo es necesario hacer lo siguiente dentro de
mi sp?
/*Bastaría utilizar BEGIN TRAN y COMMIT TRAN dentro de este sp para
asegurarme que todos y cada uno de los datos del archivo de texto fueron
guardados en la BD?
CREATE PROCEDURE pc_Transaccion
@cDepdate varchar(20),
@ccustid varchar(20),
@crefnbr varchar(20)
AS
BEGIN TRAN
INSERT INTO Transaccion (cDepdate, ccustid, crefnbr)
VALUES (@cDepdate, @ccustid, @crefnbr)
COMMIT TRAN
Se les agradecería mucho cualquier ayuda al respecto.
Leer las respuestas