[firebase-br] Alterar o valor Defaul

Francisco Thiago jeandeadlucky em yahoo.com.br
Qua Jun 1 13:10:32 -03 2005


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>



______________________________________________
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



	
	
		
____________________________________________________
Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br





Mais detalhes sobre a lista de discussão lista