Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2005
cuxoapat cuxoapat is offline
Registrado
 
Registrado: may 2003
Posts: 4
Poder: 0
cuxoapat Va por buen camino
Question Cuando se llama un SP dentro de otro SP autom. se hace rollback por error

Tengo esta duda y no encontré en la documentación de interbase algún texto sobre ello.

Tengo stored procedures que llaman a otros con la sentencia:

execute procedure

los SP que se llaman hacen inserciones, updates y borrado de datos en varias tablas.

La duda que tengo es si en caso de error en el SP que hace los llamados, cuando se hace el Rollback del SP principal, ¿Automáticamente se hacen rollbacks para todos los cambios realizados por los SP que se llamaron?
Responder Con Cita
  #2  
Antiguo 06-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
un rollback o commit no actua a nivel de un stored procedure, sino a nivel de sesión. Entiendo que firebird, al elevarse el error, deshará todas las inserciones/borrados/modificaciones realizadas desde la stored procedure, (supongo que con una transacción anidada o un savepoint) de manera que esta puede considerarse como una operación atómica dentro de la transacción.

Cuando haces rollback, todos los cambios no confirmados en la BD en esa transacción particular, prducidos dentro del stored procedure o fuera de él, serán desechos.

Hasta luego y espero haberme explicado.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:42:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi