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 - Programmierung » Einführung in die Programmierung mit SQL Anywhere » SQL in Anwendungen verwenden

 

SQL Anywhere-Cursor

Sobald ein Cursor geöffnet ist, hat er eine zugeordnete Ergebnismenge. Der Cursor bleibt eine Zeit lang geöffnet. Während dieser Zeit kann die dem Cursor zugeordnete Ergebnismenge geändert werden, entweder durch den Cursor selbst oder, abhängig von den Anforderungen der Isolationsstufe, durch andere Transaktionen. Manche Cursor ermöglichen es, Änderungen an den darunter liegenden Daten sichtbar zu machen, während bei Anderen diese Änderungen nicht auszumachen sind. Eine Empfindlichkeit gegenüber Änderungen an den Basisdaten bewirkt unterschiedliches Cursor-Verhalten, was als Cursor-Empfindlichkeit bezeichnet wird.

SQL Anywhere stellt Cursor mit einer Vielzahl von Empfindlichkeitseigenschaften zur Verfügung. Dieser Abschnitt beschreibt, was Empfindlichkeit ist sowie die Empfindlichkeitseigenschaften von Cursor.

Dabei wird vorausgesetzt, dass Sie mit dem Abschnitt Was sind Cursor? vertraut sind.

Änderungen bei Mitgliedschaft, Reihenfolge und Werten

Änderungen an den darunter liegenden Daten können sich folgendermaßen auf die Ergebnismenge eines Cursors auswirken:

  • Mitgliedschaft   Die Menge der Zeilen in der Ergebnismenge, die durch ihre Primärschlüsselwerte gekennzeichnet sind.

  • Reihenfolge   Die Reihenfolge der Zeilen in der Ergebnismenge.

  • Wert   Die Werte der Zeilen in der Ergebnismenge.

Nehmen Sie zum Beispiel die folgende einfache Tabelle mit Mitarbeiterdaten (EmployeeID ist die Primärschlüsselspalte):

EmployeeID Surname
1 Whitney
2 Cobb
3 Chin

Ein Cursor auf der folgenden Abfrage gibt alle Ergebnisse aus der Tabelle in der Reihenfolge des Primärschlüssels zurück.

SELECT EmployeeID, Surname
FROM Employees
ORDER BY EmployeeID;

Die Mitgliedschaft der Ergebnismenge könnte durch das Hinzufügen einer neuen Zeile oder das Löschen einer Zeile geändert werden. Die Werte könnten durch eine Namensänderung in der Tabelle geändert werden. Die Reihenfolge könnte geändert werden, indem der Primärschlüssel eines Mitarbeiters geändert wird.

Sichtbare und unsichtbare Änderungen

Abhängig von den Anforderungen der Isolationsstufe können Mitgliedschaft, Reihenfolge und Werte der Ergebnismenge eines Cursors geändert werden, nachdem der Cursor geöffnet wurde. Es hängt vom Typ des verwendeten Cursors ab, ob sich die Ergebnismenge, wie sie von der Anwendung gesehen wird, ändert, um diese Änderungen darzustellen.

Änderungen an den darunter liegenden Daten können durch den Cursor sichtbar oder unsichtbar sein. Eine sichtbare Änderung ist eine, die sich in der Ergebnismenge des Cursors wiederspiegelt. Änderungen an den darunter liegenden Daten, die nicht in der Ergebnismenge, wie sie vom Cursor gesehen wird, widergespiegelt werden, sind unsichtbar.


Überblick über die Cursor-Empfindlichkeit
Beispiel für Cursor-Empfindlichkeit: Eine gelöschte Zeile
Beispiel für Cursor-Empfindlichkeit: Eine aktualisierte Zeile
Unempfindliche Cursor
Empfindliche Cursor
Nicht-empfindliche Cursor
Wertempfindliche Cursor
Cursor-Empfindlichkeit und Performance
Cursor-Empfindlichkeit und Isolationsstufen
SQL Anywhere-Cursor anfordern