From: | "Ana Smail" <anasmail(at)unnoba(dot)edu(dot)ar> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RV: Uso de tablas temporarias |
Date: | 2006-05-12 14:59:44 |
Message-ID: | E1FeZF5-0004iW-EK@homero.unnoba.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Perdón no escribí a la lista.
-----Mensaje original-----
De: Ana Smail [mailto:anasmail(at)unnoba(dot)edu(dot)ar]
Enviado el: Viernes, 12 de Mayo de 2006 11:58 a.m.
Para: 'Alvaro Herrera'
Asunto: RE: [pgsql-es-ayuda] Uso de tablas temporarias
Estuve haciendo algunas pruebas y descubrí algo con respecto a uso de
temporarias.
Use el pgAdmin III y conectada la base corri el siguiente script:
begin TRANSACTION;
CREATE TEMP TABLE prueba( codigo varchar(2)) ON COMMIT PRESERVE ROWS;
INSERT INTO prueba ( codigo ) VALUES ( '21' );
commit;
select * from prueba;
todo bien, las filas no se borran después del COMMIT.
En la base de datos me hizo lo siguiente:
Me creo un schema pg_temp_3 donde agregó la tabla
Ahora si no cierro la conexión con la base en el editor SQL y vuelvo a
establece otra y corro nuevamente el strip, me crea otro schema pg_temp_5 y
así siguiendo.
Probé abrir otra conexión y en el editor sql escribir:
Select * from pg_temp_3.prueba
Esto funciona pero me devuelve la tabla vacía.
Lo que más me extraño que estos schemas creados no se borran siguen
permanentes en la base, me desconecto y me vuelvo a conectar y los sigo
teniendo.
Resumiendo: crea un schema pg_temp_* por cada conexión que quiera correr el
mismo script y luego estos permanecen.
Ahora, los programadores Visual Basic me dice que no pueden armar un
recordset con esta tabla y mandarla a un reporte que les dice que no existe.
ANA
-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)commandprompt(dot)com]
Enviado el: Jueves, 11 de Mayo de 2006 04:16 p.m.
Para: Ana Smail
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Uso de tablas temporarias
Ana Smail escribió:
> - Dónde guarda Postgresql las tablas temporarias
En el disco, junto con todas las otras tablas.
> - En otros motores como p.e. SQL Server no recomiendan el uso de
> temporarias, dicen que hay que tratar de evitarlas. Qué me pueden decir
> ustedes, recomendarían crear una tabla en el schema, a la que una vez
usada
> (p.e. después de mostrar sus resultados) se eliminaran las filas o para el
> mismo uso una tabla temporal (obviamente cuando no se pueda resolver de
otra
> manera).
Usa una tabla temporal, no hay ningun problema.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-05-12 15:31:33 | Re: RV: Uso de tablas temporarias |
Previous Message | Raúl Mero | 2006-05-12 14:25:08 | Re: RV: Windows+Apache+PHP+PostgreSQL |