Fehlernachrichten

SQL3600 - SQL3699


SQL3600NDie Option IMMEDIATE CHECKED der Anweisung SET INTEGRITY ist ungültig, da sich die Tabelle "<tabellenname>" nicht im Status 'Überprüfung anstehend' befindet.

Erläuterung: Die Daten werden nur auf ungültige Integritätsbedingungen hin überprüft, wenn sich die Tabelle im Status 'Überprüfung anstehend' befindet.

Benutzeraktion: Verwenden Sie die Anweisung SET INTEGRITY mit der Option OFF, um die Tabelle in den Status 'Überprüfung anstehend' zu versetzen.

sqlcode: -3600

sqlstate: 51027


SQL3601WDie Anweisung bewirkte, daß mindestens eine Tabelle automatisch in den Status 'Überprüfung anstehend' gesetzt wurde.

Erläuterung: Dies kann in zwei Situationen auftreten.

  1. Das Inaktivieren der Integritätsbedingung für eine übergeordnete Tabelle in einer referentiellen Struktur bzw. das Hinzufügen eines Fremdschlüssels zu einem Zeitpunkt, da sich die übergeordnete Tabelle im Status 'Überprüfung anstehend' befand, führte dazu, daß mindestens eine untergeordnete Tabelle automatisch in den Status 'Überprüfung anstehend' versetzt wurde. Dies ist zur Durchsetzung der referentiellen Integrität erforderlich. Soll ein Fremdschlüssel hinzugefügt werden, wenn die übergeordnete Tabelle sich im Status 'Überprüfung anstehend' befindet, so müssen alle abhängigen und untergeordneten Tabellen der übergeordneten Tabelle automatisch in den Status 'Überprüfung anstehend' gesetzt werden.
  2. Das Einstellen einer Basistabelle, die abhängige Übersichtstabellen mit sofortiger Aktualisierung hat, erfordert, daß diese abhängigen Übersichtstabellen in den Status 'Überprüfung anstehend' gesetzt werden. Dies ist notwendig, um die Datenabhängigkeit zwischen der Basistabelle und der abhängigen Übersichtstabelle zu erzwingen.

Benutzeraktion: Dies ist eine Warnnachricht. Der Benutzer muß die Anweisung SET INTEGRITY mit der Option IMMEDIATE CHECKED verwenden, um die Integrität aller abhängigen und untergeordneten Tabellen zu prüfen.

sqlcode: +3601

sqlstate: 01586


SQL3602WBeim Überprüfen der Daten wurden Verstöße gegen Integritätsbedingungen gefunden. Die betreffenden Daten wurden in Ausnahmetabellen übertragen.

Erläuterung: Es sind Zeilen vorhanden, die gegen Integritätsbedingungen verstoßen, die bei der Ausführung der Anweisung SET INTEGRITY geprüft werden sollten. Diese Zeilen wurden in Ausnahmetabellen versetzt.

Benutzeraktion: Suchen Sie in den Ausnahmetabellen die Zeilen, die gegen die Integritätsbedingungen verstoßen. Diese Zeilen wurden aus der Originaltabelle gelöscht, können aber korrigiert und aus den Ausnahmetabellen wieder zurückgestellt werden.

sqlcode: +3602

sqlstate: 01603


SQL3603NBeim Überprüfen der Daten durch die Anweisung SET INTEGRITY wurde ein Integritätsverstoß im Zusammenhang mit der Integritätsbedingung "<name>" festgestellt.

Erläuterung: Es wurde eine Zeile gefunden, die eine für eine Tabelle definierte Integritätsbedingung verletzt, die wiederum zur Überprüfung durch die Anweisung SET INTEGRITY angegeben wurde. Der Name "<name>" ist entweder ein Integritätsbedingungsname oder der Name einer generierten Spalte.

Benutzeraktion: Die Zeile wurde nicht aus der Tabelle gelöscht, da die Option FOR EXCEPTION nicht verwendet wurde.

Die Anweisung SET INTEGRITY sollte beim Überprüfen von Daten mit der Option FOR EXCEPTION verwendet werden. Die Daten können möglicherweise anhand der Informationen aus der/den Ausnahmetabelle(n) korrigiert werden.

sqlcode: -3603

sqlstate: 23514


SQL3604NDie Ausnahmetabelle "<name-der-ausnahmetabelle>", die der Tabelle "<tabellenname>" in der Anweisung SET INTEGRITY oder im Dienstprogramm LOAD entspricht, hat nicht die richtige Struktur, wurde mit eindeutigen Indizes, Integritätsbedingungen, generierten Spalten oder Auslösern definiert oder befindet sich selbst im Status 'Überprüfung anstehend'.

Erläuterung: Die Definition einer Ausnahmetabelle zu einer bestimmten Tabelle muß der der Originaltabelle ähnlich sein. Wahlweise auszuführende Spalten für das Dienstprogramm müssen den Angaben im zutreffenden Abschnitt der Dokumentation entsprechen, in der die Ausnahmetabellen beschrieben sind. In der Ausnahmetabelle sind keine generierten Spalten zulässig. In der Ausnahmetabelle dürfen keine Integritätsbedingungen oder Auslöser definiert sein. Die Ausnahmetabelle selbst sollte sich nicht im Status 'Überprüfung anstehend' befinden.

Benutzeraktion: Erstellen Sie die Ausnahmetabelle, wie im entsprechenden Abschnitt der Dokumentation angegeben ist, und führen Sie die Anweisung bzw. das Dienstprogramm erneut aus.

sqlcode: -3604

sqlstate: 428A5


SQL3605NDie Tabelle "<tabellenname>" in der Anweisung SET INTEGRITY ist entweder nicht als zu überprüfende Tabelle aufgelistet oder ist eine mehrmals angegebene Ausnahmetabelle.

Erläuterung: Bei Angabe der Klausel FOR EXCEPTION in der Anweisung SET INTEGRITY kann dieser Fehler auf eine der folgenden Ursachen zurückzuführen sein:

Benutzeraktion: Korrigieren Sie die Tabellennamen, und führen Sie den Befehl erneut aus.

sqlcode: -3605

sqlstate: 428A6


SQL3606NDie Anzahl der zu überprüfenden Tabellen stimmt nicht mit der in der Anweisung SET INTEGRITY angegebenen Anzahl von Ausnahmetabellen überein.

Erläuterung: Für jede Tabelle in der Liste muß auch eine Ausnahmetabelle vorliegen.

Benutzeraktion: Wenn nicht bereits geschehen, erstellen Sie die fehlende Ausnahmetabelle, und geben Sie sie in der Liste an, um den Befehl erneut auszuführen.

sqlcode: -3606

sqlstate: 428A7


SQL3608NDer Status 'Überprüfung anstehend' kann für die abhängige Tabelle "<name-der-abhängigen-tabelle>" mit der Anweisung SET INTEGRITY nicht überprüft oder zurückgesetzt werden, solange sich die übergeordnete Tabelle "<name-der-übergeordneten-tabelle>" im Status 'Überprüfung anstehend' befindet.

Erläuterung: Die übergeordnete Tabelle darf sich nicht im Status 'Überprüfung anstehend' befinden oder muß in die Aufrufliste aufgenommen werden, damit

Benutzeraktion: Stellen Sie sicher, daß sich die übergeordnete Tabelle nicht im Status 'Überprüfung anstehend' befindet. Führen Sie dazu die Anweisung SET INTEGRITY aus, um die übergeordnete Tabelle zu prüfen.

Die übergeordnete Tabelle sollte zuerst überprüft werden. Es kann auch die abhängige Tabelle geprüft und die übergeordnete Tabelle in die Aufrufliste aufgenommen werden. In diesem Fall kann der Befehl allerdings immer noch fehlschlagen, wenn sich in der übergeordneten Tabelle ungültige Integritätsbedingungen befinden und diese nicht gelöscht werden. Dieser Fall kann eintreten, wenn die Option FOR EXCEPTION nicht verwendet wird.

Im Fall eines referentiellen Zyklus müssen alle Tabellen in die Aufrufliste aufgenommen werden.

sqlcode: -3608

sqlstate: 428A8


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]