Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Datenbanken erstellen » Transaktionen und Isolationsstufen verwenden » Isolationsstufen und Konsistenz » Typische Arten von Inkonsistenz

 

Cursor-Instabilität

Eine weitere signifikante Inkonsistenzart ist die Cursor-Instabilität. Wenn diese Inkonsistenz vorhanden ist, kann eine Transaktion eine Zeile ändern, die durch den Cursor einer anderen Transaktion referenziert wird. Die Cursorstabilität stellt sicher, dass Anwendungen, die Cursor verwenden, keine Inkonsistenzen in die Daten der Datenbank einbringen.

Beispiel

Transaktion A liest eine Zeile unter Verwendung eines Cursors. Transaktion B ändert diese Zeile und schreibt sie fest. Ohne zu realisieren, dass die Zeile geändert wurde, ändert sie Transaktion A.

Cursor-Instabilität eliminieren

SQL Anywhere bietet Cursor-Stabilität auf den Isolationsstufen 1, 2 und 3. Die Cursorstabilität gewährleistet, dass keine anderen Transaktionen die Informationen ändern können, die in der gegenwärtigen Zeile Ihres Cursors enthalten sind. Bei den Informationen in einer Zeile des Cursors kann es sich um die Kopie von Informationen in einer bestimmten Tabelle oder die Kombination von Daten aus verschiedenen Zeilen von mehreren Tabellen handeln. Wenn Sie innerhalb einer SELECT-Anweisung einen Join oder eine Unterabfrage-Bedingung verwenden, betrifft es meistens mehr als eine Tabelle.

Hinweise über das Programmieren von SQL-Prozeduren und Cursorn finden Sie unter Prozeduren, Trigger und Batches verwenden.

Cursor werden nur dann verwendet, wenn Sie SQL Anywhere über eine andere Anwendung benutzen. Weitere Hinweise finden Sie unter SQL in Anwendungen verwenden.

Ein weiterer Gesichtspunkt in Bezug auf Anwendungen, die Cursor verwenden, besteht darin, ob Änderungen der zugrunde liegenden Daten für die Anwendung sichtbar sind. Sie können die Änderungen, die für Anwendungen sichtbar sind, steuern, indem Sie die Sensitivität des Cursors festlegen.

Weitere Hinweise zur Cursorempfindlichkeit finden Sie unter SQL Anywhere-Cursor.