Evandro Ricardo Silvestre escreveu:
> Recomendo também não utilizar um nome comum, pois imagine 2 usuário 
> rodando a mesma rotina em máquinas diferentes ao mesmo tempo. Como a 
> tabela já está criada por um usuário o outro irá receber um erro. Eu 
> costuma colocar o instante no nome da tabela (Hora + minuto + segundo + 
> milessimo de segundo)
> 
Ugh... tabelas temporárias não compartilham o mesmo esquema
(temporário). Você pode criar quantas tabelas temporárias quiser com o
mesmo nome (vide abaixo); este comportamento é diferente do padrão SQL
mas vários outros SGBDs utilizam esta mesma idéia.
Vale ressaltar que a sua preocupação é válida somente se você utiliza
"pool" de conexões.

============= sessão 1 ================

psql (8.4devel)
Type "help" for help.

euler=# create temp table foo (a int);
CREATE TABLE
euler=# \d foo
      Tabela "pg_temp_1.foo"
 Coluna |  Tipo   | Modificadores
--------+---------+---------------
 a      | integer |

euler=# insert into foo values(1);
INSERT 0 1
euler=# select * from foo;
 a
---
 1
(1 registro)

============= sessão 2 ================

psql (8.4devel)
Type "help" for help.

euler=# create temp table foo (a int);
CREATE TABLE
euler=# \d foo
      Tabela "pg_temp_2.foo"
 Coluna |  Tipo   | Modificadores
--------+---------+---------------
 a      | integer |

euler=# insert into foo values(2);
INSERT 0 1
euler=# select * from foo;
 a
---
 2
(1 registro)

=======================================


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a