[firebase-br] Alterar o valor Defaul

Daniel Braz daniel.braz em suzuki.ind.br
Qua Jun 1 13:24:11 -03 2005


É isto mesmo Francisco. São campos que não são gravados no momento do 
insert, somente num update posterior.
Em todo o caso, obrigado.


Francisco Thiago escreveu:

> Acredito que não funciona assim.
>
> O valor default é assumido quando o campo não faz parte de um insert.
>
> Quanto a mudar o valor default, acredito que não tenha uma declaração 
> sql para isso.
> O IBExpert gera os seguintes script para fazer esta operação (na ordem):
>
> //Cria um campo temporário para guardar as novas configurações
> ALTER TABLE CAD_CONSUMO ADD IBE$$TEMP_COLUMN
> INTEGER DEFAULT 1;
>
> //Passa as configurações do campo temporário para o campo certo
> //(observe o where)
> UPDATE RDB$RELATION_FIELDS F1
> SET
> F1.RDB$DEFAULT_VALUE  = (SELECT F2.RDB$DEFAULT_VALUE
>                         FROM RDB$RELATION_FIELDS F2
>                         WHERE (F2.RDB$RELATION_NAME = 'CAD_CONSUMO') AND
>                               (F2.RDB$FIELD_NAME = 'IBE$$TEMP_COLUMN')),
> F1.RDB$DEFAULT_SOURCE = (SELECT F3.RDB$DEFAULT_SOURCE FROM 
> RDB$RELATION_FIELDS F3
>                         WHERE (F3.RDB$RELATION_NAME = 'CAD_CONSUMO') AND
>                               (F3.RDB$FIELD_NAME = 'IBE$$TEMP_COLUMN'))
> WHERE (F1.RDB$RELATION_NAME = 'CAD_CONSUMO') AND
>      (F1.RDB$FIELD_NAME = 'TESTE');
>
> //apaga o campo temporário
> ALTER TABLE CAD_CONSUMO DROP IBE$$TEMP_COLUMN;
>
> Mas cuidado, isso mexe com as tabelas de sistema.
> O ideal mesmo seria criar outro campo com as novas definições e passar 
> o valor para ele
>
> Espero ter ajudado
>
> Francisco Thiago de Almeida
> Enter&Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> MSN: thiago em enterplug.com.br
> Skype: enterplug_thiago
>
>
>
>
>
> ----- Original Message ----- From: "Daniel Braz" 
> <daniel.braz em suzuki.ind.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, June 01, 2005 12:46 PM
> Subject: Re: [firebase-br] Alterar o valor Defaul
>
>
> Agradeço a resposta, mas isto eu já faço.
> Eu quero é redefinir o valor default na inserção do registro quando não
> for informado o valor para evitar ficar null
>
> grato
>
>
> Alexandre S. escreveu:
>
>> Daniel Braz escreveu:
>>
>>
>>>   Olá, preciso alterar o valor default de um campo numa tabela já 
>>> povoada. É possivel ???
>>>
>>> Quando criei o campo não fiz a definição e todos os registros não 
>>> informados, recebem < null >, gostaria que os valores numéricos
>>> recebem < 0>..
>>>
>>> Grato.
>>>
>>
>> update tabela set campo = seu_default
>> where campo is null
>>
>> depois define o default.
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço 
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>

-- 

Daniel Braz de Oliveira (TI)
Supervisor de TI

Suzuki Ind. e Com. Maquinas Ltda
41 - 2106-6363 - Ramal 6381
 
www.suzuki.ind.br <http://www.suzuki.ind.br>
 





Mais detalhes sobre a lista de discussão lista