Em 29 de março de 2016 15:37, Victor Fugiwara <victorfugiw...@gmail.com> escreveu:
> Boa tarde pessoal, > Boa tarde! Preciso adicionar um campo em uma tabela, sendo que o valor deste campo se > baseia na existência de um outro. A ideia seria algo assim: > > ALTER TABLE tabela ADD COLUMN coluna boolean DEFAULT (outracoluna IS > NULL); > > Ou seja, adiciono o campo e seu valor padrão depende do que tem preenchido > em outra coluna da tabela. A necessidade disso é pra evitar o alter table > seguido de um update. O valor default seria removido em seguida, essa regra > seria apenas para a criação desse campo. > Ocorre que, por baixo, não há como escapar do "update". Você pretende fazer isso para ter um alter table mais "performático"? Ele não será, com o default, muito mais rápido do que um update com as devidas otimizações (desabilitar triggers e etc.), na teoria. > O comando desse formato dá o erro: ERRO: não pode utilizar referência à > coluna na expressão padrão > > Existe alguma forma de fazer isso sem a necessidade do update? > Talvez haja outra possibilidade, mas como uma coisa é inerente à outra, talvez não seja viável. Qual seria o problema que estás enfrentando para evitar o update? []'s
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral