2014-12-22 4:46 GMT-02:00 Wellington <[email protected]>:
> uma duvida: Por que o select abaixo, com campos de nomes iguais, nao gera
> erro ?
>
> SELECT campo1,
> 0::INT AS campo1
> FROM tabela
>
Uma especificação do padrão SQL, e uma bem chata na minha opinião. Não é
erro num SELECT, mas numa tabela ou numa visão não será possível:
postgres=# CREATE VIEW foo AS SELECT i AS campo1, 0 AS campo1 FROM
generate_series(1, 10) i;
ERROR: 42701: column "campo1" specified more than once
LOCATION: MergeAttributes, tablecmds.c:1428
No caso acima se você usar essa consulta num ResultSet, não poderá acessar
os valores passando o nome, mas ainda conseguirá acessar usando a posição,
o que não é considerado uma boa prática, e logo também não é considerado
uma boa prática repetir o nome da coluna/apelido (ou "alias") num SELECT.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral