next Password Security and Resources
up Fundamentals
previous Indizes
  Contents   Index

Subsections


Datenintengrität


Constraint Stati

DISABLE

Der Primary Key sollte nicht ausgeschaltet werden, da der entsprechende Index gelöscht wird.
alter table bla DISABLE | NOVALIDATE CONSTRAINT ck_bla;

ENABLE

alter table bla ENABLE | NOVALIDATE CONSTRAINT ck_bla;
Dies kann sehr lange dauern, da die gesamte Tabelle überprüft wird. Gibt es eine Regelverletzung in der Tabelle kommt es zu einer Fehlermeldung und der Befehl kann nicht ausgeführt werden. Leider werden die Regelverstöße nicht angezeigt.


Exceptions-Tabelle

Die Exceptions-Tabelle zeigt Regelverstöße an. Erzeugt wird diese mit
/oracle/ora92/rdbms/admin/utlexpt1.sql
-- Inhalt von utlexpt1.sql:
create table exceptions
  (
   row_id urowid,owner varchar2(30),
   table_name varchar2(30),
   constraint varchar2(30)
  )
;
alter table bla 
  enable validate constraint ch_bla
  exceptions into execeptions
;
Nun werden alle Regelverstöße in die Tabelle execeptions gespeichert.


Verzögerte (deferred) CONSTRAINTs

Die Regelüberprüfung erfolgt erst beim Ende einer Transaktion, z.B. bei COMMIT. Angabe bei CONSTRAINT-Erstellung.
create table test1 (name varchar2(20) 
  constraint ch_test1 check (name not in 'Anna')
  deferrable initially deferred);
Hier ist die Verzögerung möglich aber am Anfang deaktiviert.

Übung Constraints

Übungen siehe Seite [*].
next Password Security and Resources
up Fundamentals
previous Indizes
  Contents   Index


Stefan Hietel dama.go GmbH, Robert Warnke http://rowa.giso.de