Pular para o conteúdo

Alterando campos no Firebird

Dica publicada em Banco de Dados / Miscelânea
Francis David fdavid
Hits: 18.522 Categoria: Banco de Dados Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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.

Iniciar software automaticamente no Enlightenment

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

Saldo no Gkrellm

X no Slackware

Problemas com acentuação no PHP e MySQL

Manipulando o MySQL diretamente pelo shell

Refinando suas pesquisas no Google

DBeaver - Ferramenta de Administração de Banco de Dados

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

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.