Remoção de CONSTRAINT no Firebird

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

[ Hits: 13.429 ]

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

Compilar kernel no Linux

Obtendo especificação de hardware no Linux

Atualizando a biblioteca glibc

Linux Slackware 12.1 com Compiz-Fusion

FirePHP: Depurador de códigos PHP

Leitura recomendada

Instalando MariaDB no CentOS 5.7

Instalando Firebird2 com FreeAdhocUDF no Debian Linux

SELECT para paginação no MySQL

Instalação do Firebird 2.1.3

Lentidão ao carregar sistema com Fedora 7 + LDAP + Samba

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário