Desabilitar y habilitar constraints

Leonardo
31 de Marzo del 2004
Hola a todos:

Tengo un procedimiento que en su ejecuci贸n debe sacar una copia de una tabla, luego borrarla para aplicar un algoritmo especial de ordenamiento y finalmente volver a copiarl los registros en la tabla original. Este procedimiento se ejecuta cada cierto periodo de tiempo. Necesito deshabilitar todas las constraints de las tablas que referencian a esta tabla para as铆 eliminar los datos e insertar los nuevos y despues de esto, volver a habilitar las constraints.
Conozco la instrucci贸n, pero no se como puedo crear un store procedure que me desabilite todos los constrains que necesito (son 6 en total) ya que la instrucci贸n ALTER TABLE "NOMTABLA" DISABLE CONSTRAINT "NOMCONSTRAINT" dice ser no valida en la sintaxix de un store procedure.

imaz
31 de Marzo del 2004
declare
cursor c1(v_table_name varchar2) is
SELECT \'DISABLE CONSTRAINT \'||constraint_name
sql_sentence
FROM ALL_CONSTRAINTS
WHERE TABLE_NAME=v_table_name;
sql varchar2(100);
begin
open c1(nombre_tabla);
fetch c1 into sql;
close c1;

execute immediate sql;

commit;
end;

Espero que te sirva.

agur.