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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » SQL in Anwendungen verwenden » Cursortypen auswählen

 

Cursoreigenschaften

Sie fordern einen Cursortyp entweder explizit oder implizit von der Programmierschnittstelle an. Unterschiedliche Schnittstellenbibliotheken bieten eine unterschiedliche Auswahl von Cursortypen an. JDBC und ODBC schreiben zum Beispiel unterschiedliche Cursortypen vor.

Jeder Cursortyp wird durch mehrere Merkmale definiert:

  • Eindeutigkeit   Wenn ein Cursor als eindeutig deklariert wird, zwingt dies die Abfrage, alle Spalten zurückzugeben, die für die eindeutige Identifizierung der einzelnen Zeilen erforderlich sind. Oft bedeutet dies, dass alle Spalten im Primärschlüssel zurückgegeben werden. Alle erforderlichen, aber nicht angegebenen Spalten werden der Ergebnismenge hinzugefügt. Der Standardcursortyp ist "Nicht eindeutig".

  • Aktualisierbarkeit   Ein als schreibgeschützt deklarierter Cursor kann nicht für ein positionsbasiertes Update oder eine Löschung verwendet werden. Der Standardcursortyp ist "Aktualisierbar".

  • Abrollfähigkeit   Sie können Cursor so deklarieren, dass Sie sich unterschiedlich verhalten, wenn Sie sich durch die Ergebnismenge bewegen. Manche Cursor können nur die aktuelle oder die nächste Zeile abrufen. Andere können sich vorwärts und rückwärts in der Ergebnismenge bewegen.

  • Sensitivität   Änderungen an der Datenbank können durch einen Cursor sichtbar sein, müssen es aber nicht.

Diese Eigenschaften haben möglicherweise signifikante Auswirkungen auf die Performance und Speichernutzung des Datenbankservers.

SQL Anywhere stellt Ihnen Cursor mit unterschiedlichen Zusammensetzungen dieser Eigenschaften zur Verfügung. Wenn Sie einen Cursor eines bestimmten Typs anfordern, versucht SQL Anywhere, diesen Merkmalen zu entsprechen.

Unter Umständen ist es nicht möglich, allen Eigenschaften zu entsprechen. Insensitive Cursor in SQL Anywhere müssen z.B. schreibgeschützt sein. Wenn Ihre Anwendung einen aktualisierbaren insensitiven Cursor anfordert, wird stattdessen ein anderer Cursortyp (wertsensitiv) geliefert.