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