Ver Mensaje Individual
  #9  
Antiguo 02-06-2008
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 21
lbuelvas Va por buen camino
Un procedimento almacenado funciona como una unidad en donde todas las operaciones son grabadas (commit) si y solamente si no se presenta alguna violacion de integridad (llaves foraneas, primarias, campos nulos, etc). Al presentarse alguna violacion los datos de la base de datos quedan en el estado en que se encontraban justo antes de lanzar el procedimiento almacenado.

Realmente y en lo personal evito que queden datos pendientes por actualizar cuando se lanza un procedimiento almacenado, sin embargo, puedes colocar una sentencia de codigo y que te escriba en otra tabla, no que te lance una expecion porque las excepciones provocan que pierdas las actualzaciones alcanzadas hasta ese punto.

Código SQL [-]
          when any do
          begin
            INSERT INTO TS_TRAZO
            (DESCRIPCION)
            VALUES
            (texto con la observacion);
          END
        end

La tabla TS_TRAZO la puedes consultar despues para saber que paso.
__________________
Luis Fernando Buelvas T.
Responder Con Cita