Alterando campos no Firebird

Publicado por Francis David em 08/06/2007

[ Hits: 17.655 ]

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

Iniciar software automaticamente no Enlightenment

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

Saldo no Gkrellm

Leitura recomendada

Generatedata - Populando base de dados para testes

Acessando base DB2 no AS400/Iseries com o ODBC

MariaDB no Fedora 17

Gerador de relatórios Agata Report

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

  

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