Alterando campos no Firebird

Publicado por Francis David em 08/06/2007

[ Hits: 17.652 ]

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

Iniciar software automaticamente no Enlightenment

Saldo no Gkrellm

Leitura recomendada

MariaDB no Fedora 17

Como Editar Arquivos do Access (MDB) no Libreoffice Base

Rekall Revealed - Access para Linux

Atualizando suporte ao Dropbox em Sabayon

Modelar dados agora ficou fácil

  

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