Remoção de CONSTRAINT no Firebird

Publicado por Fábio Felix Dias em 01/07/2010

[ Hits: 12.843 ]

Blog: http://lattes.cnpq.br/3165934037473827

 


Remoção de CONSTRAINT no Firebird



Para remover constraints de forma rápida.

Exemplos:

01. Digamos que exista uma tabela T com uma chave estrangeira X:

REMOVER_CONSTRAINT(T, 'FOREIGN KEY');

02. Para a mesma tabela T com um check em um campo J:

REMOVER_CONSTRAINT(T, 'CHECK);

Perceba que se existirem n CONSTRAINTS do tipo que está sendo passado, todas elas serão removidas:

create procedure REMOVER_CONSTRAINT (
    TABELA varchar(50),
    TIPO_CONSTRAINT varchar(50))
as
declare variable SQL varchar(100);
begin
  SELECT
    'ALTER TABLE ' || TRIM(RC.RDB$RELATION_NAME) ||
    ' DROP CONSTRAINT ' || TRIM(RC.RDB$CONSTRAINT_NAME) || ';'
  FROM RDB$RELATION_CONSTRAINTS RC
  WHERE RC.RDB$CONSTRAINT_TYPE = :TIPO_CONSTRAINT
        AND RDB$RELATION_NAME  = :TABELA
  INTO :V_CONSTRAINT;

  EXECUTE STATEMENT :SQL ;
end

Outras dicas deste autor

FirePHP: Depurador de códigos PHP

Compilar kernel no Linux

Obtendo especificação de hardware no Linux

Atualizando a biblioteca glibc

Linux Slackware 12.1 com Compiz-Fusion

Leitura recomendada

Conhecendo a linguagem SQL

Instalando Firebird2 com FreeAdhocUDF no Debian Linux

Curso SQL grátis

Como instalar o DBeaver no Debian

Livro Universidade Hacker

  

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