Desabilitar Constraints no Oracle

Sabe quando o desenvolvedor pede pra dar uma carga nas tabelas ??? e ai voçê tem que sair truncando tudo que é tabela ??? Pois é !!!

No caso do PostgreSQL (versões até 8.1.2) não é possivel desabilitar a constraint. É minha gente infelizmente tem que dropar a infeliz e recriar…

Poréééém no Oracle podemos desabilitar.

Agora eu pergunto: como saber todas as Fks das tabelas a serem truncadas ???? sai caçando uma por uma ?????

Nããão, é só rodar esse scriptizinho abaixo que ele retorna todas as FKs !!!

e depois ??? sai digitando desesperadamente TRUNCATE TABLE ??? também não, pra facilitar a vida já vai junto um scriptizinho que já gera os códigos para o truncate.

Exibe as Constraints:

SELECT constraint_name, constraint_type,status, owner
F
ROM dba_constraints
W
HERE OWNER = ‘ORACLE’
A
ND CONSTRAINT_TYPE = ‘R’
A
ND TABLE_NAME like ‘CAD_%’;

Gera código para desabilitar as constrainsts:

SELECT ‘ALTER TABLE’ || ‘ORACLE.’ || TABLE_NAME || ‘DISABLE CONSTRAINT’ || CONSTRAINT_NAME ||’;’
F
ROM dba_constraints
W
HERE owner = ‘ORACLE’
A
ND TABLE_NAME like ‘CAD_%’
A
ND CONSTRAINT_TYPE = ‘R’;


Até Outro Dia !!!
K
enia Milene

4 thoughts on “Desabilitar Constraints no Oracle

  1. Oláá, precisei desabilitar algumas constraints, joguei no Google, e acredita que a sua página veio em ótima hora….rs. Que coincidência…rs

    Scripts 100% aprovados…

    Gde Beijo

  2. Olá Kenia, muito legal o seu script! Meus parabéns.
    Eu utilizei ele com alguns pequenos ajustes, espero que também possa ajudar.

    set lines 300
    set pages 300

    spool disable_constraints.sql

    SELECT ‘ALTER TABLE’ || ‘ ‘ || ‘OWF_MGR.’ || TABLE_NAME || ‘ ‘ || ‘DISABLE CONSTRAINT’ || ‘ ‘ || CONSTRAINT_NAME ||’;’
    FROM dba_constraints
    WHERE owner = ‘OWF_MGR’;

    spool off

    Abraços,

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s