[firebase-br] Excluir FKs sem apagar os indices

Jean Alysson jeanpapa em gmail.com
Qui Abr 5 07:22:14 -03 2012


Achei essa dica em : http://www.firebase.com.br/fb/artigo.php?id=2437

Como remover todas as chaves estrangeiras de um BD?

Para quem usa o Firebird 2 (ou superior), pode-se executar o
comando/script abaixo:

set term !! ;

EXECUTE BLOCK RETURNS (stmt VARCHAR(1000)) AS
BEGIN
  FOR
  select 'alter table '||r.rdb$relation_name ||' drop constraint
'||r.rdb$constraint_name||';'
  from rdb$relation_constraints r
  where (r.rdb$constraint_type='FOREIGN KEY')
  into :stmt
  DO
  begin
    suspend;
    execute statement :stmt;
  end
END!!

set term ; !!

Espero que ajude !
Jean Alysson

Em 4 de abril de 2012 10:11, Marcos Weimer <marcosweimer em gmail.com> escreveu:
> Tem como excluir as FKs de um banco mantendo os indices (cada fk tem seu
> indice) ??
>
> Se não tiver, preciso de ajuda em um select que retorne os indices
> (rdb$indices e se tiver mais alguma) para que depois eu possa criar eles
> (indices) novamente.
>
> obrigado
>
> -=Ma®©oS=-
> Marcos R. Weimer
> Puma GTE 1974 Tubarão
> Delphi / C# / ASP.NET / WebServices / Firebird
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
Atenciosamente
Jean Alysson Ambrosio
Informática - Ody Park e Motel Good Time




Mais detalhes sobre a lista de discussão lista