[firebase-br] Not Null

OseasTormen mentux em gmail.com
Seg Fev 11 15:11:40 -03 2008


Bem, pelo visto sao dois casos:

1 - Campos NOT NULL que PODEM FICAR NULO:

UPDATE RDB$RELATION_FIELDS SET
RDB$NULL_FLAG = NULL
WHERE (RDB$FIELD_NAME = 'NOME_DO_CAMPO') AND
(RDB$RELATION_NAME = 'NOME_DA_TABELA')

Neste caso nao tem muito segredo, desde que este campo não seja PK e que vc 
tenha consciencia da alteração proposta. Vc deve saber que isso vai mudar 
muita coisa no sistema.

2 - Campos que PODEM FICAR NULO para NOT NULL
UPDATE RDB$RELATION_FIELDS SET
RDB$NULL_FLAG = 1
WHERE (RDB$FIELD_NAME = 'NOME_DO_CAMPO') AND
(RDB$RELATION_NAME = 'NOME_DA_TABELA')

Neste segundo caso, é necessário porém um update após a correção do campo 
para NOT NULL, pois vc precisa definir um valor para preencher as colunas 
que vc modificou, continuo salientando que é uma operacao muito delicada e 
que deve-se ter certeza do que se esta fazendo.

no mais, um forte abraço

-- 
____________________________
OseasTormen
NMSoftware
Chapecó - SC
"Nigro - Fábrica de Software" 
<rnigro em brasil-info.com.br> escreveu na 
mensagem news:008401c86cc2$8dbf7850$331111ac em BIF002...
Olá Oseas
O cenário é o seguinte:
Descobriu-se "hoje" que um campo não poderia ser nulo, e vários clientes já
estão com o sistema rodando. Precisamos disponibilizar um script onde ao ser
executado pelo sistema ative a regra not null.
O inverso também é verdadeiro: A empresa adiquiriu um novo cliente, onde, de
acordo com a regra de negócio determinado campo pode ficar nulo, mas no
momento o campo não permite.
Devido ao grande número de clientes, o custo para fazer tal alteração no
banco de dados torna-se totalmente inviável, então a saída seria fazer isso
em forma de script.
Obrigado, no agurado


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista