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 17-12-2010
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Procedimientos y transacciones

Hola,

Mi pregunta es si en Firebird 1.5 utilizando procedimientos almacenados que llaman a otros procedimientos almacenados, si se puede hacer que se ejecuten dentro de la misma transaccion.

Es decir si tengo:

Código Delphi [-]
PROCEDIMIENTO_A --> PROCEDIMIENTO_B --> PROCEDIMIENTO_C

Parece ser que cada procedimiento automaticamente genera una nueva transaccion, y esto no me permite ver los cambios que a realizado el procedimiento al que he llamado cuando todavia no he terminado el procedimiento inicial.

La cuestion es que para no tener un procedimiento muy largo lo dividi en varios, pero al crear nuevas transacciones cada uno no veo los cambios que realizan los otros.

Espero haberme explicado.
__________________
Saludos,

Bitman
Responder Con Cita
  #2  
Antiguo 17-12-2010
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola.

Solo una sugerencia, es factible que lo ejecutes desde la aplicación cliente, en el caso mio lo ejecuto desde delphi 1 o + SP y el asunto de los commit y rollback me funciona bien.

Saludos .-
__________________
No todo es como parece ser...
Responder Con Cita
  #3  
Antiguo 17-12-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola Toni.

Si ejecutas un procedimiento desde dentro de otro (con un execute procedure), se están ejecutando dentro de la misma transacción (Firebird no va a abrir una transacción distinta para el nuevo procedimiento).

Es más, Firebird no abre ninguna transacción, ni siquiera para el primer procedimiento que ejecutes.

La transacción la abren tus componentes Delphi (IBExpress, FibPlus, dbExpert, ...), esa transacción que defines desde Delphi es la única que va a existir, y se a a abrir y cerrar cuando tu lo especifiques en el programa Delphi.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 17-12-2010
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Muchas gracias Guillomarc,

Tu aclaracion me ha servido de mucho, pues el problema parecia ser esto y ademas yo tenia entendido que cada procedimiento generaba su propia transaccion.

Finalmente lo he resuelto y era un problema mio del codigo pero que sumado a mi mala interpretacion me liado mas todavia.

Gracias de nuevo.
__________________
Saludos,

Bitman
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Procedimientos definidos en una dll madiazg Varios 2 03-09-2008 13:35:39
procedimientos almacenados datorar Conexión con bases de datos 8 03-01-2006 17:05:43
Llamada de procedimientos wallesis OOP 19 27-01-2004 18:39:15
Procedimientos Waldo Varios 4 01-11-2003 07:43:04
Procedimientos Waldo OOP 1 01-11-2003 07:13:49


La franja horaria es GMT +2. Ahora son las 14:21:51.


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