Alterando campos no Firebird

Publicado por Francis David em 08/06/2007

[ Hits: 17.798 ]

Blog: http://blog.fdavid.com.br

 


Alterando campos no Firebird



Apesar de muito procurar, não consegui encontrar um método para alterar um campo de NULL para NOT NULL sem utilizar os objetos internos do Firebird .

Para isso é necessário:

UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1
WHERE RDB$RELATION_NAME = 'tablename' AND
RDB$FIELD_NAME = 'fieldname';

Onde: 0 NULL e 1 NOT NULL.

Outras alterações na tabela são possíveis sem tanto trabalho, como por exemplo alterar o tipo de um campo:

ALTER TABLE tablename ALTER fieldname TYPE typefield;

Mas atenção, o Firebird não permite alterações que possam resultar em perda de dados, se um campo é VARCHAR(50), não é possível reduzí-lo, aí não tem jeito, precisa excluir e recriar.

ALTER TABLE tablename DROP fieldname;
ALTER TABLE tablename ADD fieldname typefield;

Ao contrário do que muitos pensam, o MODIFY não funciona no Firebird, pelo menos na versão 2.0.

Outras dicas deste autor

X no Slackware

Formatação de data no Kylix, Delphi ou Lazarus

Saldo no Gkrellm

Iniciar software automaticamente no Enlightenment

Leitura recomendada

Gerador de relatórios Agata Report

Problemas ao iniciar serviço do MongoDB [RESOLVIDO]

Instalando o DBDesigner em distribuições não-RPM

Como Editar Arquivos do Access (MDB) no Libreoffice Base

Firebird - Recuperando o tipo, nome, tamanho e descrição dos campos de uma tabela

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts