Em Qua, 2007-04-25 às 12:46 -0300, Rudinei Dias escreveu:
> O que preciso é que o default no alter table não realize alterações nos 
> registros existentes.

        Então use a solução que indiquei.


> Por padrão quando você atribui um dafault a um campo, o pg atualiza 
> todos os registros da tabela que estão null para o valor default.

        O que é correto, só nos novos atributos.


> No Oracle, para você me entender, o valor default só é atribuído para os 
> novos registros a partir da alteração da estrutura da tabela.

        O que é estranho, concorda?


> Quanto a ser ou não boa prática isso depende da semântica do campo.

        Exatamente esse é o problema: NULL não tem semântica, não é valor.  Por
isso a sugestão dos valores especiais, que infelizmente não é suportada
pelo SQL e assim tem de ser implementada manualemente.


> Quando um campo possui um valor null, a pesquisa por is null ou is not 
> null não é mais
> rápida do que a comparação com um atributo valorado NULL?

        NULL não é valor.  E um valor especial nunca deve chamar-se ‘NULL’.

        E de qualquer forma, esse ganho de desempenho é irrelevante face às
confusões ensejadas pelo NULL.

-- 
+55 (11) 2122 0302   mailto:[EMAIL PROTECTED]
+55 (11) 5685 2219               xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191          Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 5686 9607  ICQ/AIM: aim:GoIM?screenname=61287803
        MSN: msnim:[EMAIL PROTECTED]

Attachment: signature.asc
Description: Esta é uma parte de mensagem assinada digitalmente

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a