Alterando campos no Firebird

Publicado por Francis David em 08/06/2007

[ Hits: 17.622 ]

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

Iniciar software automaticamente no Enlightenment

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

Saldo no Gkrellm

X no Slackware

Leitura recomendada

Firebird / Interbase - Como mudar a constraint Required de um campo

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

Diagrama Entidade-Relacionamento com Dia e Parse-Dia-SQL para o PostgreSQL

Refinando suas pesquisas no Google

Gerador de relatórios Agata Report

  

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