m@rc-lenzin

Wenn etwas schief geht, dann freu dich. Das sind die Geschichten die dir in Erinnerung bleiben werden

Oracle – Disable Constraint

Es gibt mehrere Wege um einen Constraint abzuschalten. Hier zeige ich wie ich dies meistens mache.

Mit einem einfachen ALTER TABLE Befehlt, lässt sich der Constraint bereits disablen.

alter table TABLENAME
disable constraint CONSTRAINTNAME;
alter table TABLENAME
enable constraint CONSTRAINTNAME;

Eine andere Möglichkeit sind PL/SQL-Blöcke zu verwenden.

begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' disable constraint '||i.constraint_name||'';
end loop;
end;
/
begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' enable constraint '||i.constraint_name||'';
end loop;
end;
/

Natürlich gibt es noch eine Menge andere Möglichkeiten, z.b. eigene Prozeduren, jedoch sind diese dann meistens speziel für bestimmte Applikationen nötig.

Weiter Beitrag

Zurück Beitrag

© 2025 m@rc-lenzin

Thema von Anders Norén