Remoção de CONSTRAINT no Firebird

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

[ Hits: 12.508 ]

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

Atualizando a biblioteca glibc

FirePHP: Depurador de códigos PHP

Linux Slackware 12.1 com Compiz-Fusion

Obtendo especificação de hardware no Linux

Compilar kernel no Linux

Leitura recomendada

MySQL no Debian 6

Como instalar o DBeaver no Debian

Firebird: Como parar e iniciar no Slackware Linux

Criando arquivo de calendário no formato iCalendar (*.ics) no LibreOffice Calc

Curso SQL grátis

  

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