01/07/2008, 08:26
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Mandar llamar tablas temporales Vamos a ver si se entiende:
Una tabla TEMPORAL es una tabla que existe mientras exista el thread donde se creó. Carece de existencia fuera del thread y cumple la función de almacenar datos que no tendrán permanencia o simplemente son de transacción.
Un thread se inicia en el momento de ejecutar una sentencia en la base de datos y termina al devolver los datos o realizar el almacenamiento pedido. Todos los elementos creados dentro del thread donde corre desaparecen al momento de finalizar el thread.
No existe forma de que una tabla temporal permanezca entre threads, simplemente porque no fueron diseñadas para eso.
A partir de comprender este punto te debe resultar evidente que una tabla temporal no es útil ni funcional para lo que tratas de hacer, a menos que la uses dentro de un store procedure, ya que un SP corre completo dentro de un thread. El problema es que todos los valores a usar deben entrar en el SP en el momento de llamarlo. No soportará dos llamadas por la misma razón: cada llamada a un SP es un thread diferente.
Así que la cosa tiene dos soluciones posibles:
1) Manejar todo el proceso de ambas consultas dentro de un mismo SP.
2) Resolver el problema dentro de la aplicación e insertar los datos en las tablas de la aplicación.
Fuera de eso, no veo otra forma.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |