[Python-es] Consulta a dos bases de datos simutáneamente

Chema Cortes pych3m4 en gmail.com
Jue Abr 22 19:40:53 CEST 2010


El día 21 de abril de 2010 23:05, Dr. Bobus <drbobus en gulic.org> escribió:

> Quiero realizar una consulta que afecta a dos tablas de estructura similar (id, fecha, más campos ...) el campo id es idéntico en ambas (str(10)).
>
> QUisisera saber si es posible hacer un select que involucre a ambas tablas.
>
> Hasta ahora el tema lo he solucionado realizando el select en una tabla y mediante una iteración sobre los valores obtenidos realizar múltiples select en la otra tabla. Con los valores que voy obteniendo compongo una lista que es la que finalmente manejo.
>
> ¿Alguna sugerencia de atajo?

No sé si entiendo bien la pregunta. Si tienen estructuras similares
basta con emplear una tabla temporal:

cur_mysql.execute("select id,fecha from tabla1")

cur_ora.execute("create temporary table temp1 (id char(10), fecha date)")
cur_ora.executemany("insert into temp1(id,fecha) values(?,?)", cur_mysql)
cur_oracle.execute("select * from tabla2 where id in (select id from temp1)")


Se pueden pensar otras soluciones al estilo de las tablas virtuales de
sqlite, pero creo que la solución más simple es la que te he puesto
arriba.



Más información sobre la lista de distribución Python-es