Para melhor manusear tabelas de uma base de dados, de forma mais veloz, sem ter que ficar percorrendo as outras tabelas que são referenciadas na primeira, é possivel desabilitar as constraints. Atenção para não gerar dados corrompidos conforme a operação que for realizada depois disso.
Rode o script abaixo preenchendo o nome da tabela e o owner e na saída serão gerados os scripts a serem executados.
A partir deste script é possível criar um script único para habilitar ou desabilitar todas as constraints da base de dados.
Esse tipo de procedimento é interessante para iniciar uma limpeza geral na base de dados antes da subida em produção quando nem todas as tabelas devem ser limpas.
Rode o script abaixo preenchendo o nome da tabela e o owner e na saída serão gerados os scripts a serem executados.
- SELECT 'alter table '||cons.owner||'.'||cons.table_name||' disable constraint '||cons.constraint_name||'; ' -- para habilitar so trocar o desable para enable
- FROM dba_constraints col,
- dba_constraints cons
- WHERE cons.r_owner = col.owner
- AND cons.r_constraint_name = col.constraint_name
- AND cons.constraint_type = 'R'
- AND col.table_name IN( 'TB_CARROS') -- colocar tabelas que vai truncar aqui
- AND col.owner = 'NOME_DO_ACESSO'
- ORDER BY cons.table_name;
A partir deste script é possível criar um script único para habilitar ou desabilitar todas as constraints da base de dados.
Esse tipo de procedimento é interessante para iniciar uma limpeza geral na base de dados antes da subida em produção quando nem todas as tabelas devem ser limpas.