Fehlernachrichten

SQL0500 - SQL0599


SQL0501NDer in der Anweisung FETCH oder CLOSE angegebene Cursor wurde noch nicht geöffnet.

Erläuterung: Das Programm versuchte, (1) die Anweisung FETCH oder (2) die Anweisung CLOSE zu einem Zeitpunkt auszuführen, als der betreffende Cursor nicht geöffnet war.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Überprüfen Sie die vorhergehenden Nachrichten auf einen (SQLCODE), der das Schließen des Cursors bewirkt haben könnte. Für jede Anweisung FETCH oder CLOSE, die nach dem Schließen des betreffenden Cursors ausgeführt wird, wird der SQLCODE -501 übergeben.

Wurden zuvor keine anderen SQLCODE-Werte übergeben, korrigieren Sie das Anwendungsprogramm so, daß der Cursor zum Zeitpunkt der Anweisung FETCH oder CLOSE geöffnet ist.

sqlcode: -501

sqlstate: 24501


SQL0502NDer in der Anweisung OPEN angegebene Cursor ist bereits geöffnet.

Erläuterung: Das Programm versuchte, die Anweisung OPEN für einen bereits geöffneten Cursor auszuführen.

Die Anweisung kann nicht verarbeitet werden. Der Cursor bleibt unverändert.

Benutzeraktion: Korrigieren Sie das Anwendungsprogramm so, daß die Anweisung OPEN nicht für einen bereits geöffneten Cursor ausgeführt wird.

sqlcode: -502

sqlstate: 24502


SQL0503NEine Spalte kann nicht aktualisiert werden, da sie in der Klausel FOR UPDATE der Anweisung SELECT des Cursors nicht angegeben ist.

Erläuterung: Das Programm versuchte, unter Verwendung eines Cursors einen Wert in einer Tabellenspalte zu aktualisieren, die weder in der Klausel FOR UPDATE der Cursordeklaration noch in der vorbereiteten Anweisung SELECT enthalten ist.

Jede Spalte, die aktualisiert werden soll, muß in der Klausel FOR UPDATE der Cursorvereinbarung angegeben werden.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie das Anwendungsprogramm. Muß die Spalte geändert werden, fügen Sie den Spaltennamen in die Klausel FOR UPDATE der Cursordeklaration ein.

sqlcode: -503

sqlstate: 42912


SQL0504NDer Cursor "<name>" ist nicht definiert.

Erläuterung: Der in der Anweisung UPDATE oder DELETE WHERE CURRENT OF "<name>" verwendete Cursor "<name>" ist im Anwendungsprogramm nicht deklariert.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß das Anwendungsprogramm vollständig ist, und korrigieren Sie ggf. Fehler in der Schreibweise der Cursornamen.

sqlcode: -504

sqlstate: 34000


SQL0505NDer Cursor "<name>" ist bereits definiert.

Erläuterung: Der in der Anweisung DECLARE angegebene Cursorname wurde bereits deklariert.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß die Schreibweise des Namens korrekt ist.


SQL0507NDer in der Anweisung UPDATE oder DELETE angegebene Cursor ist nicht geöffnet.

Erläuterung: Das Programm versuchte, die Anweisung UPDATE oder DELETE WHERE CURRENT OF zu einem Zeitpunkt auszuführen, an dem der Cursor nicht geöffnet war.

Die Anweisung kann nicht verarbeitet werden. Die Aktualisierungs- oder Löschoperation wurde nicht ausgeführt.

Benutzeraktion: Überprüfen Sie die vorhergehenden Nachrichten auf einen (SQLCODE), der das Schließen des Cursors bewirkt haben könnte. Für jede Anweisung FETCH oder CLOSE, die nach dem Schließen des jeweiligen Cursors ausgeführt wird, wird der SQLCODE -501 übergeben. Für jede Anweisung UPDATE oder DELETE wird in der beschriebenen Situation der SQLCODE -507 übergeben. Korrigieren Sie die Logik des Anwendungsprogramms so, daß der Cursor zum Ausführungszeitpunkt der Anweisung UPDATE oder DELETE geöffnet ist.

sqlcode: -507

sqlstate: 24501


SQL0508NDer in der Anweisung UPDATE oder DELETE angegebene Cursor befindet sich nicht in einer Zeile.

Erläuterung: Das Programm versuchte, die Anweisung UPDATE oder DELETE WHERE CURRENT OF zu einem Zeitpunkt auszuführen, an dem sich der Cursor nicht in einer Zeile der Objekttabelle befand. Der Cursor muß sich in der Zeile befinden, die geändert bzw. gelöscht werden soll.

Der Cursor ist möglicherweise nicht mehr in der betreffenden Zeile positioniert, da diese Zeile gelöscht wurde. Dies betrifft jede Verwendung von Cursorn innerhalb eines Sicherungspunkts, wenn eine Anweisung ROLLBACK TO SAVEPOINT durchgeführt wird.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: In einer fernen Datenquelle wurde der Datensatz von einer anderen Anwendung (oder einem anderen Cursor innerhalb dieser Anwendung) aktualisiert und/oder gelöscht, so daß der Datensatz nicht mehr existiert.

Die Anweisung kann nicht verarbeitet werden. Die Aktualisierungs- oder Löschoperation wird nicht ausgeführt.

Benutzeraktion: Korrigieren Sie die Logik des Anwendungsprogramms so, daß der Cursor korrekt in der gewünschten Zeile der Objekttabelle positioniert wird, bevor die Anweisung UPDATE oder DELETE ausgeführt wird. Der Cursor befindet sich nicht in einer Zeile, wenn die Anweisung FETCH die Nachricht SQL0100W (SQLCODE: 100) zurückgibt.

sqlcode: -508

sqlstate: 24504


SQL0509NDie in der Anweisung UPDATE oder DELETE angegebene Tabelle entspricht nicht der in der Anweisung SELECT für den Cursor angegebenen Tabelle.

Erläuterung: Das Programm versuchte, die Anweisung UPDATE oder DELETE WHERE CURRENT OF Cursor unter Verwendung eines Tabellennamens auszuführen, der nicht dem Namen der Tabelle in der Anweisung SELECT entspricht, mit der der Cursor deklariert wurde.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie das Anwendungsprogramm so, daß die Tabelle in der Anweisung UPDATE oder DELETE mit der Tabelle in der Anweisung SELECT übereinstimmt, mit der der Cursor deklariert wird.

sqlcode: -509

sqlstate: 42827


SQL0510NDie Anweisung UPDATE oder DELETE ist für den angegebenen Cursor nicht erlaubt.

Erläuterung: Das Programm versuchte, die Cursoranweisung UPDATE oder DELETE WHERE CURRENT OF für eine Tabellen- oder Sichtdefinition auszuführen, die die angeforderte Aktualisierungs- oder Löschoperation nicht zuläßt. Dieser Fehler tritt z. B. beim Versuch auf, eine Löschoperation für eine Sicht auszuführen, für die nur Lesezugriff besteht, oder beim Versuch, eine Änderungsoperation auszuführen, ohne daß der Cursor in der zugehörigen Klausel FOR UPDATE definiert wurde.

Beim Datenbankmanager steht die Sicht nur zum Lesen zur Verfügung, wenn die Anweisung SELECT eine der folgenden Angaben enthält:

Diese Bedingungen gelten nicht für die Unterabfragen der Anweisung SELECT.

Der Cursor wird mit der Klausel FOR FETCH ONLY oder ORDER BY deklariert.

Der Cursor ist mehrdeutig, und beim Binden wurde die Option BLOCKING ALL angegeben.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Wenn der Datenbankmanager die Anweisung nicht verarbeiten kann und der Cursor auf einer Anweisung SELECT oder einer Klausel VALUES basiert, deren Ergebnissicht nur zum Lesen zur Verfügung steht, führen Sie keine Lösch- oder Aktualisierungsanweisung für die betreffende Sicht aus.

Wenn der Datenbankmanager die Anweisung nicht verarbeiten kann und der Cursor nicht auf einer Anweisung SELECT oder einer Klausel VALUES basiert, deren Ergebnissicht nur zum Lesen zur Verfügung steht, und ist der Cursor in der Klausel FOR FETCH ONLY oder ORDER BY definiert, entfernen Sie die betreffende Klausel aus der Cursordefinition, oder geben Sie keine Lösch- oder Aktualisierungsanweisungen ein.

Wenn der Datenbankmanager die Anweisung nicht verarbeiten kann und es weder aus der Definition noch aus dem Kontext ersichtlich ist, ob es sich um einen Cursor handelt, der nur gelesen werden kann (FETCH ONLY), oder um einen aktualisierbaren Cursor, binden Sie das Programm mit der Bindeoption BLOCKING ALL oder BLOCKING UNAMBIG neu.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Stellen Sie fest, in welcher Datenquelle die Anforderung fehlgeschlagen ist (die Vorgehensweise wird im Handbuch Problem Determination Guide beschrieben). Falls eine Datenquelle den Fehler verursacht, prüfen Sie die Einschränkungen für die betreffende Datenquelle, um die Fehlerursache zu bestimmen und den den Fehler zu beheben. Gibt es eine Einschränkung für eine Datenquelle, sind in der SQL-Referenz der betreffenden Datenquelle Informationen darüber enthalten, warum das Objekt nicht aktualisierbar ist.

sqlcode: -510

sqlstate: 42828


SQL0511NDie Klausel FOR UPDATE ist nicht zulässig, weil die durch den Cursor bestimmte Tabelle nicht geändert werden kann.

Erläuterung: Die Ergebnistabelle der Anweisung SELECT oder der Klausel VALUES kann nicht geändert werden.

Beim Datenbankmanager steht die Ergebnistabelle nur zum Lesen zur Verfügung, wenn der Cursor auf einer Anweisung SELECT oder einer Klausel VALUES basiert, die eine der folgenden Angaben enthält:

Diese Bedingungen gelten nicht für die Unterabfragen der Anweisung SELECT.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Führen Sie keine Änderungsanforderungen für die Ergebnistabelle aus.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Stellen Sie fest, in welcher Datenquelle die Anforderung fehlgeschlagen ist (die Vorgehensweise wird im Handbuch Problem Determination Guide beschrieben). Falls eine Datenquelle den Fehler verursacht, prüfen Sie die Einschränkungen für die betreffende Datenquelle, um die Fehlerursache zu bestimmen und den den Fehler zu beheben. Gibt es eine Einschränkung für eine Datenquelle, sind in der SQL-Referenz der betreffenden Datenquelle Informationen darüber enthalten, warum das Objekt nicht aktualisierbar ist.

sqlcode: -511

sqlstate: 42829


SQL0513WDurch die SQL-Anweisung wird die gesamte Tabelle oder Sicht geändert.

Erläuterung: Die Anweisung UPDATE oder DELETE enthält keine WHERE-Klausel. Daher werden alle Zeilen der Tabelle oder Sicht geändert, wenn diese Anweisung ausgeführt wird.

Die Anweisung wird akzeptiert.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Nicht alle Datenquellen zeigen diese Warnung an. Der Server mit zusammengeschlossenen Datenbanken versucht, diese Warnung anzuzeigen. Es kann jedoch vorkommen, daß der Server mit zusammengeschlossenen Datenbanken nicht alle Situationen erkennt, in denen die Warnung angebracht wäre. Auf diese Art und Weise kann verhindert werden, daß mit einer Anweisung UPDATE/DELETE eine ganze Tabelle oder Sicht geändert wird.

Benutzeraktion: Stellen Sie sicher, daß wirklich die gesamte Tabelle oder Sicht geändert werden soll.


SQL0514NDer Cursor "<name>" ist nicht vorbereitet.

Erläuterung: Das Anwendungsprogramm versuchte, den nicht vorbereiteten Cursor "<name>" zu verwenden. Der Cursor gehört zu einer Anweisung, die (1) bisher nicht vorbereitet wurde, (2) durch ROLLBACK nicht gültig gemacht wurde oder (3) durch ein explizites oder implizites Neubinden des Pakets nicht gültig gemacht wurde.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Zu (1): Bereiten Sie die Anweisung vor, die in der Anweisung DECLARE CURSOR für "<name>" angegeben wird, bevor versucht wird, den Cursor zu öffnen. Zu (2): Führen Sie ROLLBACK erst aus, nachdem die Verwendung des Cursors beendet wurde. Zu (3): Die Anweisung zur Vorbereitung des Cursors muß erneut abgesetzt werden.

sqlcode: -514

sqlstate: 26501


SQL0516NIn der Anweisung DESCRIBE ist keine vorbereitete Anweisung angegeben.

Erläuterung: Der Anweisungsname in der Anweisung DESCRIBE muß für eine Anweisung stehen, die im Verlauf derselben Datenbanktransaktion vorbereitet wurde.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß der Anweisungsname für eine vorbereitete Anweisung steht.

sqlcode: -516

sqlstate: 26501


SQL0517NDer Cursor "<name>" kennzeichnet eine vorbereitete Anweisung, die keine Anweisung SELECT oder Klausel VALUES ist.

Erläuterung: Der Cursor "<name>" konnte nicht in der angegebenen Weise verwendet werden, da die vorbereitete Anweisung, die in der Cursordeklaration genannt wird, keine Anweisung SELECT oder Klausel VALUES ist.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß der Anweisungsname in den Anweisungen PREPARE und DECLARE CURSOR für den Cursor "<name>" korrekt angegeben wurde. Oder korrigieren Sie das Programm so, daß in Verbindung mit Cursordeklarationen nur vorbereitete Anweisungen SELECT bzw. Klauseln VALUES verwendet werden.

sqlcode: -517

sqlstate: 07005


SQL0518NDie in der Anweisung EXECUTE angegebene Anweisung ist nicht vorbereitet, oder es handelt sich um die Anweisung SELECT bzw. Klausel VALUES.

Erläuterung: Das Anwendungsprogramm versuchte, mit EXECUTE eine Anweisung auszuführen, die (1) bisher nicht vorbereitet wurde, (2) durch ROLLBACK nicht gültig gemacht wurde, (3) eine Anweisung SELECT oder eine Klausel VALUES ist oder (4) durch ein explizites oder implizites Neubinden des Pakets nicht gültig gemacht wurde.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Zu (1): Bereiten Sie die Anweisung vor, bevor sie mit EXECUTE ausgeführt werden soll. Zu (2): Führen Sie ROLLBACK erst aus, nachdem die Verwendung der vorbereiteten Anweisung beendet wurde, oder bereiten Sie nach ROLLBACK die Anweisung erneut vor. Zu (3): Stellen Sie sicher, daß es sich bei der Anweisung nicht um eine Anweisung SELECT oder eine Klausel VALUES handelt. Zu (4): Die Anweisung zur Vorbereitung des Cursors muß erneut abgesetzt werden.

sqlcode: -518

sqlstate: 07003


SQL0519NDie Anweisung PREPARE kennzeichnet die Anweisung SELECT bzw. die Klausel VALUES für den geöffneten Cursor "<name>".

Erläuterung: Das Anwendungsprogramm versuchte, die Anweisung SELECT bzw. die Klausel VALUES für den bereits geöffneten Cursor "<name>" vorzubereiten.

Die Anweisung kann nicht vorbereitet werden. Der Cursor bleibt unverändert.

Benutzeraktion: Korrigieren Sie das Anwendungsprogramm so, daß nicht versucht wird, die Anweisung SELECT oder die Klausel VALUES für einen bereits geöffneten Cursor vorzubereiten.

sqlcode: -519

sqlstate: 24506


SQL0525NDie SQL-Anweisung kann nicht ausgeführt werden, da sie zur Bindezeit für Abschnitt "<abschnittnr>", Paket "<paketname>" und Konsistenz-Token X"<kon-token>" fehlerhaft war.

Erläuterung: Mögliche Ursachen:

Variablen:

abschnittnr
Abschnittsnummer

paketname
posid.objid.pgmid

kon-token
Konsistenz-Token (hexadezimal)

Die Anweisung kann nicht ausgeführt werden.

Benutzeraktion: Ist die SQL-Anweisung nicht für die Ausführung an der angegebenen Position vorgesehen, korrigieren Sie das Programm dahingehend, daß die fehlerhafte Anweisung an dieser Position nicht mehr ausgeführt wird. Bearbeiten Sie das Paket mit dem Precompiler, kompilieren Sie es, und binden Sie es unter Verwendung von ACTION(REPLACE). Ist die SQL-Anweisung für die Ausführung an der angegebenen Position vorgesehen, beheben Sie den beim Binden festgestellten Fehler, und binden Sie das Paket anschließend unter Verwendung von ACTION(REPLACE). Wurden mehrere Versionen des Pakets gebunden, setzen Sie die folgende SELECT-Anweisung ab, um die fehlerhafte Version zu ermitteln: SELECT VERSION FROM posid.SYSIBM.SYSPACKAGE WHERE LOCATION = ' ' AND COLLID = 'objid' AND NAME = 'pgmid' AND HEX(CONTOKEN) = 'kon-token'

Dabei gilt folgendes:

posid
Positionsname

objid
Objektgruppen-ID

pkmid
Programmname

sqlcode: -525

sqlstate: 51015


SQL0526NDie angeforderte Funktion gilt nicht für deklarierte temporäre Tabellen.

Erläuterung: Die ausgeführte SQL-Anweisung verweist auf eine deklarierte temporäre Tabelle. Im gegebenen Kontext darf keine deklarierte temporäre Tabelle verwendet werden.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ändern Sie die SQL-Anweisung so, daß die Objektverweise sich nicht auf deklarierte temporäre Tabellen beziehen.

sqlcode: -526

sqlstate: 42995


SQL0528NDie Tabelle "<tabellenname>" hat bereits eine eindeutige Integritätsbedingung, bei der es sich um eine Kopie der Integritätsbedingung "<name>" handelt.

Erläuterung: Eine Klausel UNIQUE verwendet dieselbe Spaltenliste wie die Klausel PRIMARY KEY, eine andere Klausel UNIQUE, den Primärschlüssel oder eine Integritätsbedingung UNIQUE, die bereits für die Tabelle "<tabellenname>" existiert. Doppelte Integritätsbedingungen UNIQUE sind nicht zulässig.

"<name>" ist der Name der Integritätsbedingung, falls ein solcher angegeben wurde oder existiert. Wird kein Name für eine Integritätsbedingung angegeben, wird für "<name>" der erste Spaltenname verwendet, der in der Spaltenliste der Klausel UNIQUE angegeben ist. Dem Spaltennamen werden drei Punkte angefügt.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Entfernen Sie die doppelte Klausel UNIQUE, oder ändern Sie die Spaltenliste in eine Spaltengruppe, die noch keiner eindeutigen Integritätsbedingung angehört.

sqlcode: -528

sqlstate: 42891


SQL0530NDer Wert von FOREIGN KEY "<integritätsbedingungsname>" zum Einfügen oder Aktualisieren entspricht keinem Wert des Primärschlüssels der übergeordneten Tabelle.

Erläuterung: Ein Wert wurde in den Fremdschlüssel der Objekttabelle eingesetzt, der jedoch mit keinem der Werte im Primärschlüssel der übergeordneten Tabelle übereinstimmt.

Wird in eine abhängige Tabelle eine Zeile eingefügt, muß der Einfügewert eines Fremdschlüssels einem Wert des Primärschlüssels in einer der Zeilen der Tabelle entsprechen, die in der Beziehung das übergeordnete Element darstellt.

Wird der Wert eines Fremdschlüssels aktualisiert, muß der Aktualisierungswert eines Fremdschlüssels mit dem Wert des Primärschlüssels in einer der Zeilen der in der Beziehung übergeordneten Tabelle bei Beendigung der Anweisung übereinstimmen.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<integritätsbedingungsname>". Ist dies der Fall, hat das Nachrichten-Token das folgende Format: "<datenquelle>:UNKNOWN". Es weist darauf hin, daß der tatsächliche Wert der angegebenen Datenquelle unbekannt ist.

Die Anweisung konnte nicht ausgeführt werden. Der Inhalt der Objekttabelle bleibt unverändert.

Benutzeraktion: Prüfen Sie zur Problembestimmung erst den Einfüge- oder Aktualisierungswert des Fremdschlüssels, und vergleichen Sie ihn anschließend mit jedem der Primärschlüsselwerte in der übergeordneten Tabelle.

sqlcode: -530

sqlstate: 23503


SQL0531NDer Primärschlüssel in einer übergeordneten Zeile der Beziehung "<integritätsbedingungsname>" kann nicht aktualisiert werden.

Erläuterung: Die Operation versuchte, den Primärschlüssel in einer Zeile der übergeordneten Tabelle zu aktualisieren. Dem Primärschlüssel in der angegebenen Zeile sind jedoch abhängige Zeilen in der abhängigen Tabelle in der Integritätsbedingung "<integritätsbedingungsname>" zugeordnet.

Hat die Integritätsbedingung "<integritätsbedingungsname>" die Aktualisierungsbedingung NO ACTION, kann der Wert des Primärschlüssels in einer übergeordneten Zeile nicht aktualisiert werden, wenn von der übergeordneten Zeile bei Beendigung der Anweisung andere Zeilen abhängen.

Hat die Integritätsbedingung "<integritätsbedingungsname>" die Aktualisierungsbedingung RESTRICT, kann der Wert des Primärschlüssels in einer übergeordneten Zeile nicht aktualisiert werden, wenn von der übergeordneten Zeile zum Zeitpunkt der Aktualisierung des Primärschlüssels andere Zeilen abhängen.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<integritätsbedingungsname>". Ist dies der Fall, hat das Nachrichten-Token das folgende Format: "<datenquelle>:UNKNOWN". Es weist darauf hin, daß der tatsächliche Wert der angegebenen Datenquelle unbekannt ist.

Die Anweisung konnte nicht ausgeführt werden. Der Inhalt der übergeordneten Tabelle wird nicht geändert.

Benutzeraktion: Prüfen Sie den Primärschlüssel der Objekttabelle und den Fremdschlüssel der abhängigen Tabelle, um festzustellen, ob der Wert in der angegebenen Zeile des Primärschlüssels geändert werden soll. Kann das Problem dadurch nicht ermittelt werden, überprüfen Sie die Inhalte der Objekttabelle und der abhängigen Tabelle, um das Problem festzustellen und zu beheben.

sqlcode: -531

sqlstate: 23001, 23504


SQL0532NEine übergeordnete Zeile kann nicht gelöscht werden, da die Beziehung "<integritätsbedingungsname>" nur bedingtes Löschen zuläßt.

Erläuterung: Mit einer Operation wurde versucht, eine bestimmte Zeile aus der übergeordneten Tabelle zu löschen. Dem Primärschlüssel in der angegebenen Zeile sind jedoch abhängige Zeilen in der referentiellen Integritätsbedingung "<integritätsbedingungsname>" zugeordnet, und für die Beziehung gilt die Löschbedingung NO ACTION oder RESTRICT.

Hat eine Integritätsbedingung "<integritätsbedingungsname>" die Löschbedingung NO ACTION, ist es nicht möglich, eine Zeile der übergeordneten Tabelle zu löschen, wenn die abhängigen Zeilen bei Beendigung der Anweisung noch vom Primärschlüssel abhängen.

Hat eine Integritätsbedingung "<integritätsbedingungsname>" die Löschbedingung RESTRICT, ist es nicht möglich, eine Zeile der übergeordneten Tabelle zu löschen, wenn zum Zeitpunkt des Löschvorgangs von der übergeordneten Zeile andere Zeilen abhängen.

Es ist beachten, daß ein Löschvorgang auf andere Zeilen in abhängigen Tabellen mit einer Löschbedingung NO ACTION oder RESTRICT übergreifen und diese löschen kann. Das heißt, die Integritätsbedingung "<integritätsbedingungsname>" kann sich in einer anderen Tabelle befinden als die ursprüngliche Löschoperation.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<integritätsbedingungsname>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Anweisung konnte nicht ausgeführt werden. Der Inhalt der Tabelle bleibt unverändert.

Benutzeraktion: Überprüfen Sie zur Fehlerbestimmung und -behebung die Löschbedingung für alle untergeordneten Tabellen. Über die Beziehung "<integritätsbedingungsname>" kann festgestellt werden, welche Tabellen betroffen sind.

sqlcode: -532

sqlstate: 23001, 23504


SQL0533NDie Anweisung INSERT ist nicht gültig, da eine Beziehung das Ergebnis einer Gesamtauswahl auf eine Zeile beschränkt.

Erläuterung: Eine Anweisung INSERT mit einer Gesamtauswahl versuchte, mehrere Zeilen in eine Tabelle einzufügen, die innerhalb einer Beziehung einer referentiellen Integritätsbedingung als übergeordnete und als abhängige Tabelle verwendet wird.

Die Gesamtauswahl der Anweisung INSERT darf nicht mehr als eine Datenzeile als Ergebnis erbringen.

Die Anweisung INSERT konnte nicht ausgeführt werden. Der Inhalt der Objekttabelle bleibt unverändert.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Benutzeraktion: Überprüfen Sie die Suchbedingung der Gesamtauswahl, und stellen Sie sicher, daß nicht mehr als eine Datenzeile ausgewählt wird.

sqlcode: -533

sqlstate: 21501


SQL0534NEs wurde versucht, mehrere Zeilen zu aktualisieren. Dies ist nicht zulässig.

Erläuterung: Mit der Anweisung UPDATE wurde versucht, mehrere Zeilen einer Spalte zu aktualisieren, die zu einem Primärschlüssel oder einem eindeutigen Index gehört.

Das gleichzeitige Aktualisieren mehrerer Zeilen einer Spalte, die zu einem Primärschlüssel oder einem eindeutigen Index gehört, wird nicht unterstützt.

Die Anweisung UPDATE konnte nicht ausgeführt werden. Der Inhalt der Tabelle bleibt unverändert.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann im Server mit zusammengeschlossenen Datenbanken existieren (wenn untergeordnete und übergeordnete Tabellen als Tabellen im zusammengeschlossenen Server existieren), oder sie kann in der Datenquelle existieren (wenn untergeordnete und übergeordnete Tabellen in der Datenquelle existieren).

Benutzeraktion: Stellen Sie sicher, daß mit der Suchbedingung der Anweisung UPDATE nur eine Datenzeile der Objekttabelle zum Aktualisieren ausgewählt wird.

sqlcode: -534

sqlstate: 21502


SQL0535NDie Anweisung DELETE ist nicht gültig, da eine Beziehung, die auf sich selbst verweist, nur das Löschen von einer Zeile zuläßt.

Erläuterung: Mit einer Anweisung DELETE, die die Klausel WHERE enthält, wurde versucht, mehrere Zeilen aus einer Tabelle zu löschen, die innerhalb einer Beziehung einer referentiellen Integritätsbedingung, für die die Löschbedingung RESTRICT oder SET NULL gilt, als übergeordnete und als abhängige Tabelle verwendet wird.

Mit der Klausel WHERE der Anweisung DELETE darf nicht mehr als eine Datenzeile ausgewählt werden.

Die Anweisung DELETE konnte nicht ausgeführt werden. Der Inhalt der Objekttabelle bleibt unverändert.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Benutzeraktion: Überprüfen Sie die Suchbedingung der Klausel WHERE, und stellen Sie sicher, daß nur eine Datenzeile ausgewählt wird.

(Diese Einschränkung gilt nur für Versionen vor DB2 Version 2.)

sqlcode: -535

sqlstate: 21504


SQL0536NDie Anweisung DELETE ist nicht gültig, da die Operation Auswirkungen auf die Tabelle "<name>" haben kann.

Erläuterung: Es wurde versucht, für die in einer Unterabfrage verwendete Tabelle "<name>" die Anweisung DELETE auszuführen.

Die in der Unterabfrage der Anweisung DELETE angesprochene Tabelle kann von der Operation aus einem der folgenden Gründe betroffen sein:

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Anweisung konnte nicht verarbeitet werden.

Benutzeraktion: Geben Sie in der Unterabfrage der Anweisung DELETE keine Tabelle an, die von der Anweisung DELETE betroffen sein könnte.

HINWEIS: Dieser Fehler tritt nur bei DB2-Releases vor Version 2 und bei Hosts auf, auf die über DB2 Connect zugegriffen wird.

sqlcode: -536

sqlstate: 42914


SQL0537NDie Klauseln PRIMARY KEY, FOREIGN KEY, UNIQUE oder PARTITIONING KEY kennzeichnen die Spalte "<name>" mehrmals.

Erläuterung: Die Spalte "<name>" kommt in einer Klausel PRIMARY KEY, FOREIGN KEY, UNIQUE oder PARTITIONING KEY der Anweisung CREATE oder ALTER mehrmals vor.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Geben Sie für jede Spalte einen eindeutigen Namen an.

sqlcode: -537

sqlstate: 42709


SQL0538NFOREIGN KEY "<name>" entspricht nicht der Beschreibung des Primärschlüssels der Tabelle "<tabellenname>".

Erläuterung: Die Definition des angegebenen Fremdschlüssels stimmt nicht mit der Beschreibung des Primärschlüssels in der Tabelle "<tabellenname>" überein.

Mögliche Fehlerursachen sind:

"<name>" ist der Name der Integritätsbedingung, sofern in der Klausel FOREIGN KEY angegeben. Wurde kein Integritätsbedingungsname angegeben, ist "<name>" der erste in der Klausel angegebene Spaltenname, dem drei Punkte angefügt werden.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>" und "<tabellenname>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen in der Datenquellevorhanden sind).

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie die Anweisung so, daß die Beschreibung des Fremdschlüssels der Beschreibung des Primärschlüssels entspricht.

sqlcode: -538

sqlstate: 42830


SQL0539NDie Tabelle "<name>" hat keinen Schlüssel "<schlüsselart>".

Erläuterung: Mögliche Ursachen:

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>" und "<schlüsselart>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Anweisung kann nicht verarbeitet werden. Ein Systemkatalog kann in einer referentiellen Integritätsbedingung nicht als übergeordnete Tabelle definiert werden.

Benutzeraktion: Beim Erstellen einer referentiellen Integritätsbedingung muß der Primärschlüssel angegeben werden, bevor die (Integritätsbedingungen) der Fremdschlüssel angegeben werden.

sqlcode: -539

sqlstate: 42888


SQL0540NDie Definition von Tabelle "<tabellenname>" ist unvollständig, da ein primärer Index oder ein erforderlicher eindeutiger Index fehlt.

Erläuterung: Die angegebene Tabelle wurde mit einer Klausel PRIMARY KEY oder UNIQUE definiert. Die Definition ist unvollständig und kann erst verwendet werden, nachdem ein eindeutiger Index für den Primärschlüssel (Primärindex) sowie für jede Spaltengruppe in den einzelnen UNIQUE-Klauseln (erforderliche eindeutige Indizes) definiert wurde. Es wurde versucht, die Tabelle in einer Klausel FOREIGN KEY oder einer SQL-Bearbeitungsanweisung zu verwenden.

Die Anweisung kann nicht ausgeführt werden.

Benutzeraktion: Definieren Sie einen Primärindex oder einen erforderlichen eindeutigen Index für die Tabelle, bevor auf sie verwiesen wird.

sqlcode: -540

sqlstate: 57001


SQL0541WDie referentielle, Primärschlüssel-, oder eindeutige Integritätsbedingung "<name>" wird ignoriert, da es sich dabei um eine doppelte Integritätsbedingung handelt.

Erläuterung: Wenn sich "<name>" auf eine referentielle Integritätsbedingung bezieht, verwendet eine Klausel FOREIGN KEY denselben Fremdschlüssel und dieselbe übergeordnete Tabelle wie eine andere Klausel FOREIGN KEY.

Wenn sich "<name>" auf einen Primärschlüssel oder eine eindeutige Integritätsbedingung bezieht, ist eine der folgenden Situationen eingetreten.

"<name>" ist der Name der Integritätsbedingung, falls angegeben. Wurde kein Integritätsbedingungsname angegeben, ist "<name>" der erste in der Spaltenliste der Klausel FOREIGN KEY oder UNIQUE angegebene Spaltenname, dem drei Punkte angefügt werden.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Integritätsbedingung kann in der Datenquelle vorhanden sein (wenn untergeordnete und übergeordnete Tabellen als Tabellen in der Datenquelle vorhanden sind).

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die angegebene referentielle oder eindeutige Integritätsbedingung wurde nicht erstellt. Die Anweisung wurde erfolgreich verarbeitet.

Benutzeraktion: Keine Maßnahme erforderlich. Die Verarbeitung kann fortgesetzt werden.

sqlcode: +541

sqlstate: 01543


SQL0542N"<name>" kann keine Spalte eines Primärschlüssels oder eindeutigen Schlüssels sein, da sie Nullwerte enthalten kann.

Erläuterung: In der Spalte "<name>", die in der Klausel PRIMARY KEY oder der Klausel UNIQUE verwendet wird, sind laut Definition Nullwerte zulässig.

Einige Datenquellen enthalten nicht die entsprechenden Werte für "<name>". Ist dies der Fall, enthalten die entsprechenden Felder Werte (wie "unknown"). Sie weisen darauf hin, daß der tatsächliche Wert unbekannt ist.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie die Definition der Spalte, des Primärschlüssels oder des eindeutigen Schlüssels.

sqlcode: -542

sqlstate: 42831


SQL0543NEine Zeile in der übergeordneten Tabelle konnte nicht gelöscht werden, da die Tabelle eine Zeile enthält, die gegen die Integritätsbedingung "<integritätsbedingungsname>" verstößt.

Erläuterung: Die Anweisung DELETE konnte nicht ausgeführt werden, da es sich bei der Zieltabelle um eine übergeordnete Tabelle handelt, die über eine referentielle Integritätsbedingung und die Löschbedingung SET NULL mit einer abhängigen Tabelle verbunden ist. Eine für die abhängige Tabelle definierte Prüfung auf Integritätsbedingung legt jedoch fest, daß die Spalte keine Nullwerte enthalten darf.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Überprüfen Sie den Fremdschlüssel und die Löschbedingung in der abhängigen Tabelle und die widersprüchliche Prüfung auf Integritätsbedingung. Ändern Sie die Löschbedingung oder aber die Prüfung auf Integritätsbedingung so, daß die beiden Elemente sich nicht widersprechen.

sqlcode: -543

sqlstate: 23511


SQL0544NDie Prüfung auf Integritätsbedingung "<integritätsbedingungsname>" konnte nicht hinzugefügt werden, da die Tabelle eine Zeile enthält, die gegen die Integritätsbedingung verstößt.

Erläuterung: Mindestens eine in der Tabelle vorhandene Zeile verstößt gegen die Prüfung auf Integritätsbedingung, die mit der Anweisung ALTER TABLE der Tabelle hinzugefügt werden soll.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Überprüfen Sie die Prüfung auf Integritätsbedingung, die in der Anweisung ALTER TABLE angegeben wurde, und die in der Tabelle enthaltenen Daten, um die Zeile(n) zu lokalisieren, in denen es zum Verstoß kommt. Ändern Sie den Inhalt der betreffende(n) Zeile(n) oder die Prüfung auf Integritätsbedingung so, daß es zu keinem Verstoß kommt.

sqlcode: -544

sqlstate: 23512


SQL0545NDie angeforderte Operation ist nicht zulässig, da eine Zeile gegen die Prüfung auf Integritätsbedingung "<integritätsbedingungsname>" verstößt.

Erläuterung: Die Verstöße gegen die Prüfung auf Integritätsbedingung können auf die Anweisung INSERT oder UPDATE zurückgehen. Die Ergebniszeile verstößt gegen die Prüfung auf Integritätsbedingung, die für diese Tabelle definiert wurde.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Überprüfen Sie die Daten und die Definition der Prüfung auf Integritätsbedingung in der Katalogsicht SYSCAT.CHECKS, um die Ursache für das Scheitern der Anweisung INSERT oder UPDATE zu bestimmen. Ändern Sie die Daten so, daß sie nicht mehr gegen die Prüfung auf Integritätsbedingung verstoßen.

sqlcode: -545

sqlstate: 23513


SQL0546NDie Prüfung auf Integritätsbedingung "<integritätsbedingungsname>" ist ungültig.

Erläuterung: Eine in der Anweisung CREATE TABLE oder ALTER TABLE enthaltene Prüfung auf Integritätsbedingung ist aus mindestens einem der folgenden Gründe ungültig:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Mögliche Maßnahmen (abhängig von der Fehlerursache):

sqlcode: -546

sqlstate: 42621


SQL0548NEine Prüfung auf Integritätsbedingung, deren Definition "<prüfbedingungselement>" umfaßt, ist ungültig.

Erläuterung: Eine in der Anweisung CREATE TABLE oder ALTER TABLE enthaltene Prüfung auf Integritätsbedingung ist aus mindestens einem der folgenden Gründe ungültig:

Das Token im Text der Fehlernachricht gibt das ungültige Element an.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Mögliche Maßnahmen (abhängig von der Fehlerursache):

sqlcode: -548

sqlstate: 42621.


SQL0549NDie Anweisung "<anweisung>" ist nicht zulässig für "<objektname1>" der Art "<objektart1>", da die Bindeoption DYNAMICRULES(BIND) in "<objektart2>" wirksam ist.

Erläuterung: Ein Programm versuchte, die angegebene SQL-Anweisung abzusetzen, die eine von mehreren SQL-Anweisungen ist, die nicht von einem Paket oder Zugriffsplan abgesetzt werden können, für das/den die Option DYNAMICRULES(BIND) aktiv ist. Es handelt sich um folgende SQL-Anweisungen:

"<anweisung>"
Die fehlerhafte SQL-Anweisung

"<objektart1>"
PACKAGE oder DBRM. DBRM ist nur in einer DRDA-Verbindung zulässig.

"<objektname1>"
Wenn "<objektart1>" PACKAGE ist, ist "<objektname1>" der Name des Pakets im Format 'standort-id.objektgruppen-id.paket-id'. Wenn "<objektart1>" DBRM ist, ist "<objektname1>" der Name des DBRM im Format 'zugriffsplan DBRM-name'.

"<objektart2>"
PACKAGE oder PLAN. PLAN ist nur in einer DRDA-Verbindung zulässig. Wenn "<objektart1>" PACKAGE ist, kann "<objektart2>" PACKAGE oder PLAN sein (je nachdem, was mit DYNAMICRULES(BIND) gebunden ist). Wenn "<objektart1>" DBRM ist, ist "<objektart2>" PLAN.
Die SQL-Anweisung kann nicht ausgeführt werden.

Benutzeraktion: Führen Sie einen der folgenden Schritte zur Fehlerbehebung aus:

sqlcode: -549

sqlstate: 42509


SQL0551N"<berechtigungs-ID>" verfügt nicht über die Berechtigung, die Operation "<operation>" für das Objekt "<name>" auszuführen.

Erläuterung: Unter Verwendung von "<berechtigungs-ID>" wurde versucht, die Operation "<operation>" für das Objekt "<name>" auszuführen. Die verwendete Berechtigungs-ID hat jedoch nicht die dafür benötigte Berechtigung.

Wird eine Tabelle, die referentielle Integritätsbedingungen umfaßt, erstellt oder geändert, wird über den SQLCODE dieser Nachricht angezeigt, daß der ausführende Benutzer nicht über die Berechtigung REFERENCES verfügt, die zum Erstellen oder Löschen eines Fremdschlüssels erforderlich ist. In diesem Fall steht "<operation>" für "REFERENCES" und "<name>" für das Objekt, auf das die Integritätsbedingung verweist.

Beim Versuch, ein DB2-Dienstprogramm oder eine CLI-Anwendung auszuführen, kann es sein, daß die DB2-Dienstprogramme neu an die Datenbank gebunden werden müssen, da die Benutzer-ID, unter der die Datenbank erstellt wurde, unter Umständen nicht mehr existiert oder nicht mehr über die erforderlichen Zugriffsrechte verfügt.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Wird diese Nachricht während der Änderung der Spalte remote_pw der Sicht SYSCAT.USEROPTIONS angezeigt, ist der Benutzer nicht berechtigt, das Kennwort eines anderen Benutzers zu ändern. Hierzu ist entweder die SYSADM-Berechtigung erforderlich, oder eine Berechtigungs-ID (Wert im Sonderregister USER), die mit dem Wert in der Spalte für die Berechtigungs-ID (authid) der zu aktualisierenden Zeilen übereinstimmt. Einige Datenquellen enthalten nicht die entsprechenden Werte für "<berechtigungs-ID>", <operation> und <name>. In diesen Fällen haben die Nachrichten-Token die folgenden Formate: "<datenquelle> AUTHID:UNKNOWN", "UNKNOWN" und "<datenquelle>:TABLE/VIEW". Sie weisen darauf hin, daß die tatsächlichen Werte für Berechtigungs-ID, Operation und Name in der angegebenen Datenquelle unbekannt sind.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß "<berechtigungs-ID>" über die Berechtigung zum Ausführen der Operation verfügt.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Berechtigung kann für den Server mit zusammengeschlossenen Datenbanken und/oder die Datenquelle gelten.

Falls die DB2-Dienstprogramme erneut an die Datenbank gebunden werden müssen, kann der Datenbankadministrator dies mit einem der folgenden CLP-Befehle vom Unterverzeichnis bnd aus vornehmen, während er mit der Datenbank verbunden ist:

sqlcode: -551

sqlstate: 42501


SQL0552N"<berechtigungs-ID>" verfügt nicht über die Berechtigung, die Operation "<operation>" auszuführen.

Erläuterung: Unter Verwendung von "<berechtigungs-ID>" wurde versucht, die Operation "<operation>" auszuführen. Die verwendete Berechtigungs-ID hat jedoch nicht die dafür benötigte Berechtigung.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Einige Datenquellen enthalten nicht die entsprechenden Werte für "<berechtigungs-ID>" und <operation>. In diesen Fällen haben die Nachrichten-Token die folgenden Formate: "<datenquelle> AUTHID:UNKNOWN" und "UNKNOWN". Sie weisen darauf hin, daß die tatsächlichen Werte für Berechtigungs-ID und Operation in der Datenquelle unbekannt sind.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Stellen Sie sicher, daß "<berechtigungs-ID>" über die Berechtigung zum Ausführen der Operation verfügt.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: Die Berechtigung kann für den Server mit zusammengeschlossenen Datenbanken und/oder die Datenquelle gelten.

sqlcode: -552

sqlstate: 42502


SQL0553NEin Objekt kann nicht mit dem Schemennamen "<schemenname>" erstellt werden.

Erläuterung: Die Ursache dafür, daß der Schemenname "<schemenname>" ungültig ist, hängt vom Typ des zu erstellenden Objekts ab.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Verwenden Sie einen gültigen Schemennamen, oder entfernen Sie den expliziten Schemennamen, und wiederholen Sie die Anweisung.

sqlcode: -553

sqlstate: 42939


SQL0554NEine Berechtigungs-ID kann sich nicht selbst eine Berechtigung erteilen.

Erläuterung: Die zum Ausführen der Anweisung GRANT verwendete Berechtigungs-ID ist selbst als Eintrag in der Liste der Berechtigungs-IDs enthalten, denen die Berechtigungen erteilt werden sollen.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Löschen Sie die Berechtigungs-ID aus der Liste.

sqlcode: -554

sqlstate: 42502


SQL0555NEine Berechtigungs-ID kann sich nicht selbst eine Berechtigung entziehen.

Erläuterung: Die zum Ausführen der Anweisung REVOKE verwendete Berechtigungs-ID ist selbst als Eintrag in der Liste der Berechtigungs-IDs enthalten, denen die Berechtigungen entzogen werden sollen.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Löschen Sie die Berechtigungs-ID aus der Liste.

sqlcode: -555

sqlstate: 42502


SQL0556NDer Versuch, "<berechtigungs-ID>" eine Berechtigung zu entziehen, ist fehlgeschlagen, da "<berechtigungs-ID>" nicht über diese Berechtigung verfügt.

Erläuterung: Die Berechtigung wurde nicht entzogen, da "<berechtigungs-ID>" nicht über diese Berechtigung verfügt.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ändern Sie die Anweisung REVOKE so, daß sie den Regeln für die Anweisung REVOKE entspricht, und führen Sie die Anweisung erneut aus. Werden in der Anweisung REVOKE mehrere Berechtigungs-IDs und mehrere Berechtigungen aufgelistet, stellen Sie sicher, daß jede Berechtigungs-ID über mindestens eine der angegebenen Berechtigungen verfügt.

sqlcode: -556

sqlstate: 42504


SQL0557NDie angegebene Kombination von Berechtigungen kann weder erteilt noch entzogen werden.

Erläuterung: Mögliche Ursachen:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie die Anweisung, und führen Sie sie erneut aus.

sqlcode: -557

sqlstate: 42852


SQL0558NDer Versuch, "<berechtigungs-ID>" eine Berechtigung zu entziehen, ist fehlgeschlagen, da "<berechtigungs-ID>" immer noch über die Berechtigung "<steuerung>" verfügen würde.

Erläuterung: "<berechtigungs-ID>" verfügt über die Berechtigung "<steuerung>". Die zu entziehende Berechtigung ist Bestandteil der Berechtigung "<steuerung>", so daß kein Berechtigungsentzug möglich ist, es sei denn, die Berechtigung "<steuerung>" wird ebenfalls entzogen.

Für die Berechtigung "<steuerung>" gibt es die folgenden gültigen Werte:

Die Anweisung kann nicht ausgeführt werden. Die Berechtigung wird nicht entzogen.

Benutzeraktion: Entziehen Sie, falls erforderlich, die Berechtigung "<steuerung>".

sqlcode: -558

sqlstate: 42504


SQL0562NDie angegebenen Datenbankberechtigungen können nicht für PUBLIC erteilt werden.

Erläuterung: Mit der Anweisung GRANT wurde versucht, der reservierten Berechtigungs-ID PUBLIC eine Datenbankberechtigung zu erteilen. Es ist jedoch nicht möglich, der reservierten Berechtigungs-ID PUBLIC Berechtigung DBADM zu erteilen.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Die implizierte Funktion wird nicht unterstützt.

sqlcode: -562

sqlstate: 42508


SQL0567N"<berechtigungs-ID>" ist keine gültige Berechtigungs-ID.

Erläuterung: Der Wert "<berechtigungs-ID>" ist aus einem der folgenden Gründe als Berechtigungs-ID ungültig:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie die Berechtigungs-ID.

sqlcode: -567

sqlstate: 42602


SQL0569NDie Anweisung GRANT/REVOKE schlug fehl, da "<berechtigungsname>" sowohl einen Benutzer als auch eine Benutzergruppe im System kennzeichnen kann.

Erläuterung: Der in der Anweisung GRANT oder REVOKE angegebene Berechtigungsname kann für einen Einzelbenutzer oder eine Benutzergruppe im Sicherheitsnamensbereich stehen. Die Anweisung ist nicht eindeutig, da weder das Schlüsselwort USER noch das Schlüsselwort GROUP angegeben wurde. Bei Verwendung der DCE-Sicherheit ist immer das Schlüsselwort USER oder GROUP erforderlich.

Benutzeraktion: Ergänzen Sie die Anweisung durch das Schlüsselwort USER oder GROUP, so daß die Berechtigungs-ID eindeutig definiert wird.

sqlcode: -569

sqlstate: 56092


SQL0570WNicht alle für das Objekt "<objektname>" der Art "<objektart>" geforderten Zugriffsrechte wurden gewährt.

Erläuterung: Es wurde versucht, für das Objekt "<objektname>" der Art "<objektart>" eine Operation GRANT durchzuführen. Es wurden jedoch nicht alle oder keine der geforderten Zugriffsrechte gewährt. Die Berechtigungs-ID, mit der die Anweisung eingegeben wurde, hat nicht alle für die Operation GRANT erforderlichen Zugriffsrechte oder verfügt nicht über die Berechtigung DBADM.

Alle gültigen geforderten Zugriffsrechte wurden gewährt.

Benutzeraktion: Wiederholen Sie die Operation mit den erforderlichen Zugriffsrechten.

sqlcode: +570

sqlstate: 01007


SQL0572NPaket "<paketname>" ist funktionsunfähig.

Erläuterung: Das Paket "<paketname>" ist als funktionsunfähig gekennzeichnet und muß erneut explizit gebunden werden, bevor es verwendet werden kann. Dieses Paket kann nicht verwendet werden, weil mindestens eine benutzerdefinierte Funktion, auf der es basierte, gelöscht wurde.

Benutzeraktion: Binden Sie das genannte Paket erneut explizit mit dem Befehl REBIND oder BIND.

sqlcode: -572

sqlstate: 51028


SQL0573NEine Spaltenliste in der Klausel REFERENCES der Integritätsbedingung "<name>" kennzeichnet nicht eine eindeutige Integritätsbedingung der übergeordneten Tabelle "<tabellenname>".

Erläuterung: Die Klausel REFERENCES der mit "<name>" angegebenen Integritätsbedingung enthält eine Liste mit Spaltennamen, die nicht mit den Namen der Spalten übereinstimmen, die für den Primärschlüssel oder einen beliebigen eindeutigen Schlüssel der entsprechenden Tabelle "<tabellenname>" definiert wurden.

"<name>" ist der Name der Integritätsbedingung, falls angegeben. Wurde kein Integritätsbedingungsname angegeben, ist "<name>" der erste in der Spaltenliste der Klausel FOREIGN KEY angegebene Spaltenname, dem drei Punkte angefügt werden.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie die Spaltenliste der Klausel REFERENCES, oder fügen Sie der angesprochenen Tabelle die eindeutige Integritätsbedingung hinzu.

sqlcode: -573

sqlstate: 42890


SQL0574NDer DEFAULT-Wert oder Wert des Attributs IDENTITY ist für die Spalte "<spaltenname>" in der Tabelle "<tabellenname>" ungültig. Ursachencode: "<ursachencode>".

Erläuterung: Der DEFAULT-Wert oder der Wert des Attributs IDENTITY für die Spalte "<spaltenname>" in der Tabelle "<tabellenname>" ist nicht gültig. Mögliche Ursachencodes:

1
Der Wert kann nicht der Spalte zugeordnet werden, da die Konstante dem Format für eine Konstante dieses Datentyps nicht entspricht, die Länge bzw. Genauigkeit des Werts nicht korrekt ist oder die Funktion einen nicht korrekten Datentyp zurückgibt.

2
Eine Gleitkommakonstante wurde angegeben, und die Spalte hat nicht den entsprechenden Datentyp.

3
Eine Dezimalkonstante wurde angegeben, und Ziffern ungleich Null werden bei ihrer Zuordnung zu der Spalte abgeschnitten.

4
Der Wert beträgt mehr als 254 Byte, einschließlich der Anführungszeichen für Zeichenfolgen, der einleitenden Zeichen wie z. B. das X für eine Hexadezimalkonstante, der vollständig qualifizierten Funktionsnamen und der runden Klammern. Nicht signifikante Leerzeichen im Wert werden ignoriert. In einer Umgebung, die unterschiedliche Codepages unterstützt, kann der Wert der Zeichenfolgenerweiterung der Codepage der Datenbank mehr als 254 Bytes betragen.

5
Das Sonderregister USER wurde angegeben, und das Längenattribut des Datentyps der Zeichenfolge hat weniger als acht Zeichen Länge.

6
Ein Sonderregister für Datum und Uhrzeit (CURRENT DATE, CURRENT TIME oder CURRENT TIMESTAMP) wurde angegeben, das nicht mit dem Datentyp der Spalte übereinstimmt.

7
Eine Funktion wurde angegeben, die nicht unterstützt wird. Bei der angegebenen Funktion muß es sich um eine vom System erstellte Umsetzungsfunktion oder um eine der integrierten Funktionen BLOB, DATE, TIME oder TIMESTAMP handeln.

8
Das Argument für eine Datums- und Uhrzeitfunktion entspricht nicht einer Zeichenfolgenkonstanten oder dem entsprechenden Sonderregister für Datum und Uhrzeit.

9
Eine vom System erstellte Umsetzungsfunktion wurde angegeben, und die Spalte wurde nicht mit einem benutzerdefinierten einzigartigen Datentyp definiert.

10
Ein Wert mit einer Anzahl von Kommastellen ungleich Null wurde für die Option START WITH oder INCREMENT BY einer IDENTITY-Spalte angegeben.

<0
Jeder Ursachencode, der kleiner Null ist, ist ein SQLCODE. Der Fehler in der Spezifikation des DEFAULT-Werts kann durch Überprüfung der Fehlernachricht festgestellt werden, die diesem SQLCODE entspricht.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Korrigieren Sie den DEFAULT-Wert oder Wert des Attributs IDENTITY nach Maßgabe des zurückgegebenen Ursachencodes.

sqlcode: -574

sqlstate: 42894


SQL0575NDie Sicht oder Übersichtstabelle "<name>" kann nicht verwendet werden, da sie als unbrauchbar markiert wurde.

Erläuterung: Die Sicht oder Übersichtstabelle "<name>" wurde als unbrauchbar markiert, da eine Tabelle, eine Sicht, ein Aliasname oder ein Zugriffsrecht entfernt wurde, von der sie abhängt. Die Sicht kann nur noch von folgenden SQL-Anweisungen verwendet werden:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Handelt es sich bei "<name>" um eine Sicht, erstellen Sie die Sicht erneut. Setzen Sie hierzu die Anweisung CREATE VIEW ab, und verwenden Sie die Sichtdefinition der unbrauchbaren Sicht. Handelt es sich bei "<name>" um eine Übersichtstabelle, erstellen Sie diese erneut. Setzen Sie hierzu die Anweisung CREATE TABLE ab, und verwenden Sie die Übersichtstabellendefinition der unbrauchbaren Übersichtstabelle.

sqlcode: -575

sqlstate: 51024


SQL0576NDer Aliasname "<name>" für "<name2>" konnte nicht erstellt werden. Er hätte eine Verkettung von Aliasnamen zur Folge, die zu einer Endlosschleife führt.

Erläuterung: Die Definition des Aliasnamens "<name>" für "<name2>" hätte zu einer zirkulären Aliasverkettung geführt, die nicht hätte korrekt aufgelöst werden können. Eine solche Verkettung liegt zum Beispiel vor, wenn der Aliasname A auf den Aliasnamen B verweist, der seinerseits wieder auf den Aliasnamen A verweist.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ändern Sie die Definition des Aliasnamens "<name>", oder ändern Sie die Definition eines anderen Aliasnamens innerhalb der Verkettung so, daß keine zirkuläre Verkettung erfolgt.

sqlcode: -576

sqlstate: 42916


SQL0577NEs wurde versucht, über die benutzerdefinierte Funktion oder Prozedur "<funktionsname>" (spezifischer Name: "<spezifischer-name>") Daten zu ändern. Die Funktion war jedoch nicht als MODIFIES SQL DATA definiert.

Erläuterung: Das Programm, mit dem der Hauptteil der benutzerdefinierten Funktion (UDF) oder Prozedur implementiert wird, darf keine SQL-Daten ändern.

Benutzeraktion: Entfernen Sie alle SQL-Anweisungen, die Daten ändern, und kompilieren Sie das Programm neu. Untersuchen Sie bei gespeicherten Prozeduren die zulässige SQL-Stufe, wie sie in der Anweisung CREATE PROCEDURE angegeben ist.

sqlcode: -577

sqlstate: 38002

sqlstate: 42985


SQL0579NEs wurde versucht, über die benutzerdefinierte Funktion oder Prozedur "<funktionsname>" (spezifischer Name: "<spezifischer-name>") Daten zu lesen. Die Funktion war jedoch nicht als READ SQL DATA oder MODIFIES SQL DATA definiert.

Erläuterung: Das Programm, mit dem der Hauptteil der benutzerdefinierten Funktion (UDF) oder Prozedur implementiert wird, darf keine SQL-Daten lesen.

Benutzeraktion: Entfernen Sie alle SQL-Anweisungen, die Daten lesen, und kompilieren Sie das Programm neu. Untersuchen Sie bei gespeicherten Prozeduren die zulässige SQL-Stufe, wie sie in der Anweisung CREATE PROCEDURE angegeben ist.

sqlcode: -579

sqlstate: 38004

sqlstate: 42985


SQL0580NEs ist nicht zulässig, alle Einzelergebnisausdrücke des Ausdrucks CASE als Nullwerte zu definieren.

Erläuterung: Die Anweisung enthält den Ausdruck CASE. Innerhalb dieses Ausdrucks sind alle Einzelergebniswerte (d. h. alle Ausdrücke nach den Schlüsselwörtern THEN und ELSE) als Nullwerte definiert (Schlüsselwort NULL).

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ändern Sie den Ausdruck CASE so, daß mindestens ein Einzelergebnis ohne das Schlüsselwort NULL definiert wird.

sqlcode: -580

sqlstate: 42625


SQL0581NDie Datentypen der Einzelergebnisausdrücke im Ausdruck CASE sind nicht miteinander kompatibel.

Erläuterung: Die Anweisung enthält den Ausdruck CASE. Die Einzelergebniswerte dieses Ausdrucks (d. h. alle Ausdrücke nach den Schlüsselwörtern THEN und ELSE) sind nicht miteinander kompatibel.

Die Datentypen der Einzelergebnisse eines Ausdrucks CASE werden auf der Basis der Regeln für Ergebnisdatentypen bestimmt. Im vorliegenden Fall sind die Datentypen der Einzelergebnisse aus einem der folgenden Gründe nicht miteinander kompatibel:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ändern Sie die Datentypen der Einzelergebnisse so, daß sie miteinander kompatibel sind.

sqlcode: -581

sqlstate: 42804


SQL0582NDer Ausdruck CASE, der in einer Klausel VALUES, einem Vergleichselement IN, einer Klausel GROUP BY oder ORDER BY enthalten ist, kann selbst keine Vergleichsfunktion, das Vergleichselement IN mit einer Gesamtauswahl oder das Vergleichselement EXISTS enthalten.

Erläuterung: Bei der Suchbedingung des Ausdrucks CASE handelt es sich um:

Zugleich ist der Ausdruck CASE Bestandteil:

Der Ausdruck CASE wird in dieser Konstellation nicht unterstützt. Der Ausdruck CASE ist möglicherweise Teil einer in SQL geschriebenen Funktion.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Entfernen Sie die Vergleichsfunktion, das Vergleichselement IN bzw. das Vergleichselement EXISTS aus dem Ausdruck CASE. Wenn der Ausdruck CASE Teil einer Funktion ist, muß die Abfrage ohne die Funktion formuliert werden, die den Fehler verursacht.

sqlcode: -582

sqlstate: 42625


SQL0583NDie Verwendung der Routine "<routinenname>" ist ungültig, da sie nicht deterministisch ist oder eine externe Aktion enthält.

Erläuterung: Die Routine (Funktion oder Methode) "<routinenname>" ist als nicht deterministische Routine oder als Routine mit einer externen Aktion definiert. Diese Art von Routine wird im verwendeten Kontext nicht unterstützt. In folgenden Kontexten ist dieser Typ ungültig:

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Ist die Verwendung einer nicht deterministischen Routine oder einer Routine mit externer Aktion nicht beabsichtigt, ersetzen Sie die Routine durch eine Routine ohne diese Merkmale. Sind die Merkmale der nicht deterministischen Routine bzw. der Routine mit externer Aktion beabsichtigt, verwenden Sie die Alternativform der Anweisungen, die diese Absicht explizit angeben.

sqlcode: -583

sqlstate: 42845


SQL0584NDer Gebrauch von NULL oder DEFAULT ist ungültig.

Erläuterung: DEFAULT kann nur in einer Klausel VALUES verwendet werden, die zu einer Anweisung INSERT gehört.

Eine Klausel VALUES, die nicht Bestandteil einer Anweisung INSERT ist, muß in mindestens einer Zeile jeder Spalte einen Wert ungleich NULL haben.

Wenn DEFAULT als Spaltenname in einer Klausel WHERE oder HAVING verwendet wird, muß er in Großbuchstaben angegeben und in doppelte Anführungszeichen eingeschlossen werden.

Benutzer von Systemen mit zusammengeschlossenen Datenbanken: DEFAULT kann in einer Klausel VALUES einer Anweisung INSERT nicht verwendet werden, wenn es sich bei deren Objekt um einen Kurznamen handelt.

Benutzeraktion: Geben Sie in der Klausel einen anderen Wert als NULL oder DEFAULT an. Wenn DEFAULT als Spaltenname verwendet wird, geben Sie ihn in Großbuchstaben an, und setzen Sie ihn in doppelte Anführungszeichen.

sqlcode: -584

sqlstate: 42608


SQL0585NDer Schemenname "<schemenname>" darf nicht mehr als einmal im Funktionspfad stehen.

Erläuterung: Der Funktionspfad enthält "<schemenname>" mehr als einmal. Der Funktionspfad darf jeden Schemennamen nur einmal enthalten.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Löschen Sie die überschüssigen Vorkommen von "<schemenname>" aus dem Funktionspfad.

sqlcode: -585

sqlstate: 42732


SQL0586NDie Gesamtlänge des Sonderregisters CURRENT FUNCTION PATH darf 254 Zeichen nicht überschreiten.

Erläuterung: Das Sonderregister CURRENT FUNCTION PATH ist mit dem Typ VARCHAR(254) definiert. Der Inhalt der Zeichenfolge umfaßt alle Schemennamen, die jeweils in doppelte Anführungszeichen gesetzt und vom nächsten Schemennamen durch ein Komma getrennt sind. Die Gesamtlänge der Zeichenfolge aller Schemennamen im Sonderregister CURRENT FUNCTION PATH darf 254 Zeichen nicht überschreiten. Die Anweisung SET CURRENT FUNCTION PATH bzw. die Option FUNCPATH des Befehls PREP oder BIND, die diese Nachricht verursacht haben, würden diese Gesamtlänge überschreiten.

Die Anweisung oder der Befehl kann nicht verarbeitet werden.

Benutzeraktion: Löschen Sie Schemennamen, um die Gesamtlänge von 254 Zeichen nicht zu überschreiten. Wenn alle Schemennamen erforderlich sind, müssen möglicherweise einige benutzerdefinierte Funktionen konsolidiert werden, so daß nicht so viele Schemennamen im Sonderregister CURRENT FUNCTION PATH enthalten sein müssen.

sqlcode: -586

sqlstate: 42907


SQL0590NDer Name "<name>", der in der Prozedur "<prozedur>" angegeben wurde, ist nicht eindeutig.

Erläuterung: Der Name "<name>" ist als Parameter, SQL-Variable, Cursor, Marke oder Bedingung in der Prozedur "<prozedur>" angegeben. Der Name ist nicht eindeutig.

Benutzeraktion: Ändern Sie den Namen so, daß er eindeutig ist.

sqlcode: -590

sqlstate: 42734


SQL0595WDie Isolationsstufe "<angeforderter-stand>" wurde in "<geänderter-stand>" geändert.

Erläuterung: Die angegebene Isolationsstufe wird von DB2 nicht unterstützt. Sie wurde in die nächsthöhere Isolationsstufe geändert, die von DB2 unterstützt wird.

Benutzeraktion: Geben Sie eine von DB2 unterstützte Isolationsstufe an, um diese Warnnachricht zu vermeiden. DB2 unterstützt folgende Isolationsstufen: Wiederholtes Lesen (RR - Repeatable Read), Lesestabilität (RS - Read Stability), Cursorstabilität (CS - Cursor Stability) und Nicht festgeschriebener Lesevorgang (UR - Uncommitted Read).

sqlcode: +595

sqlstate: 01526


SQL0598WDer bestehende Index "<name>" dient als Index für den primären Schlüssel oder einen eindeutigen Schlüssel.

Erläuterung: Für die Anweisung ALTER TABLE, mit der ein primärer oder ein eindeutiger Schlüssel definiert wird, ist ein Index erforderlich. Der angegebene Index ist mit dem erforderlichen Index identisch.

Beim Erstellen eines Index für einen primären oder eindeutigen Schlüssel gilt eine Indexbeschreibung als identisch, wenn sie dieselben Spaltengruppe (in beliebiger Reihenfolge) wie der primäre oder der eindeutige Schlüssel angibt. Dabei ist es unerheblich, ob die Spalten aufsteigend oder absteigend sortiert sind und ob der Index als eindeutig definiert ist.

Die Anweisung wurde erfolgreich verarbeitet.

Benutzeraktion: Keine Maßnahme erforderlich.

sqlcode: +598

sqlstate: 01550


SQL0599WFür einen einzigartigen, auf einem Datentyp für lange Zeichenfolgen basierenden Datentyp können keine Vergleichsfunktionen erstellt werden.

Erläuterung: Für einen einzigartigen, auf einem Datentyp für lange Zeichenfolgen basierenden Datentyp (BLOB, CLOB, DBCLOB, LONG VARCHAR oder LONG VARGRAPHIC) können keine Vergleichsfunktionen erstellt werden, da die entsprechenden Funktionen für die genannten integrierten Datentypen nicht

Dies ist eine Warnnachricht. Die Anweisung wurde erfolgreich verarbeitet.

Benutzeraktion: Keine Maßnahme erforderlich.

sqlcode: +599

sqlstate: 01596


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