Mudar posição dos campos

PostgreSQL

28/05/2011

Bem, a pergunta parece meio boba mas é uma coisa muito util.
Como mudar a posição dos campos. Digamos que acabei de criar uma tabela com 20 campos, e no final lembrei que faltou um campo e que esse campo deve ser o terceiro na ordem de criação. Tipo:

CODIGO
NOME
ENDEREÇO
TELEFONE
.
.
.
.
.
.
.
.
.
         iiiiiiii faltou o campo NUMERO_DA_RESIDENCIA em baixo do endereço.

Como fazer para coloca-lo lá em baixo do endereço sem ter que deletar a tabela e criar tudo de novo. Os dois front-end que eu uso aqui não tem essa função. (phpPgAdmin e pgAdmin III).

grato
Matheus Sraiva

Matheus Sraiva

Curtidas 0

Respostas

Jair N.

Jair N.

28/05/2011

Boa Tarde, você pode alterar a ordem dos campos na tabela de acordo que o maior número seja acrescido de mais um na tabela de atributos, deixando assim um espaço para a inclusão no seu caso do terceiro campo, ou merlhor inclua e depois altere a ordem. Veja um exemplo só que deverá informar a seqüência do maior para o menor...


UPDATE  pg_attribute
   SET  attnum = attnum + 1 -- seqüência atual...
  FROM  pg_type
 WHERE (pg_type.typrelid = pg_attribute.attrelid)
   AND (pg_type.typname = 'tabela') -- nome da tabela para pesquisa 
   AND (pg_attribute.attname = 'campo')  -- nome do campo a ser alterado




GOSTEI 0
POSTAR