[firebase-br] Mudanca no tamanho de campo do IB

Cléber Moisés cleber.moises em hotmail.com
Seg Out 3 07:59:22 -03 2005


Paulo, este 'CHECK_1','CHECK_2', referesse as restriçoes no campo da tua 
tabela, sempre que um campo é not null, por exemplo, cria um 'CHECK' - 
"CONSTRAINT".
Outros podem ser criados. Como eemplo, para só permitir "S" ou "N", 
respectivamente "Sim" ou "Não", ou ainda, só valores numéricos, ou restrição 
para não aceitar acentos, enfim. Nestes casos, sempre criamos os valores no 
mesmo tamanho do campo, se precisamos alterar o tamanho do campo, para 
alterar precisa dropar esta constraint "Alter table minha_tabela drop 
constraint check_1".

Se você precisar de maiores informações, tem material na pagina 118, do 
livro do Cantu.


Atenciosamente,

Cléber Moisés
Virtual Age Solution Provider (Associado à RP Métodos Contábeis Ltda)
Auditoria e Desenvolvimento de Sistemas
Fone   : (0xx51) 3227-8883 (RP Escritórios)
Celular: (0xx51) 9113-0523





>From: "Paulo" <psdlistdisc em terra.com.br>
>Reply-To: Paulo <psdlistdisc em terra.com.br>, FireBase 
><lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: [firebase-br] Mudanca no tamanho de campo do IB
>Date: Sun, 2 Oct 2005 10:58:11 -0300
>
>
>Pessoal:
>
>Talvez esse assunto interesse a todos que possuem sistemas
>que operam notas fiscais.
>
>Pergunta resumida:
>
>Nos bancos de dados do InterBase 6, alguem sabe o que sao os registros
>da tabela RDB$DEPENDENCIES.  Especialmente, gostaria de saber
>para que o IB utiliza os registros onde o campo RDB$DEPENDENT_NAME
>contem o valor 'CHECK_1', 'CHECK_2', etc.
>
>Preciso saber disso porque, devido a uma manutencao que estou fazendo
>nos BDs de meus clientes, terei de apagar alguns desses registros.
>
>Para verem os registros nos seus bancos de dados (para quem usa o
>InterBase),
>facam um SELECT * FROM RDB$DEPENDENCIES
>
>
>Se necessario, vejam os detalhes abaixo.
>
>Muito obrigado pela atencao de todos
>Paulo
>
>Detalhes
>-------------------
>
>- Utilizo Delphi 3 com BDE 5.202 e base de dados InterBase 6
>
>- Em meus sistemas, o campo SERNF ("Serie da Nota Fiscal) possui
>2 posicoes, e como o governo agora esta' exigindo 3 posicoes,
>criei alguns scripts (dentro de um programa Delphi) para modificar esse
>campo,
>pois tenho muitos clientes e terei de fazer essa manutencao em quase todos
>eles.
>
>Faco assim:
>
>1) Apago as PRIMARY KEYs e as FOREIGN KEYs de todas
>as tabelas que utilizam o campo SERNF
>
>2) Uso o comando ALTER TABLE com ALTER COLUMN
>para modificar o tamanho de 2 para 3 posicoes
>
>3) Recrio as PRIMARY KEYs e FOREIGN KEYs que havia
>apagado antes
>
>
>Problema:
>
>- Quando o programa que executa esses procedimentos chega
>na etapa "2", aparece um erro referindo-se a um tal de CHECK _1
>(ou CHECK_2, CHEK_3, etc.) existente na tabela
>RDB$DEPENDENCIES, e que se referem ao campo SERNF.
>
>- Para contornar o problema, eu estou apagando os registros onde
>da tabela RDB$DEPENDENCIES referentes ao campo SERNF.
>Depois disso, os comandos ALTER COLUMN funcionam
>normalmente
>
>- Obs.: Depois que eu recrio as PRIMARY KEYs e FOREIGN KEYs,
>o InterBase recria os 'CHECK_1', 'CHECK_2', etc.   Em todo caso, gostaria
>de ter certeza se ao apagar aqueles registros da RDB$DEPENDENCIES
>eu nao estou danificando algo no banco de dados.
>
>Grato pela atencao
>Paulo
>
>
>
>
>
>______________________________________________
>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

_________________________________________________________________
Chegou o que faltava: MSN Acesso Grátis. Instale Já! 
http://www.msn.com.br/discador





Mais detalhes sobre a lista de discussão lista