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