Cursorverhalten

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBC unterstützt die ISO-Optionen für die Definition des Verhaltens von Cursorn durch Angabe ihrer Bildlauffähigkeit und Sensitivität. Diese Verhaltensweisen werden durch Festlegen der optionen SQL_ATTR_CURSOR_SCROLLABLE und SQL_ATTR_CURSOR_SENSITIVITY für einen Aufruf von SQLSetStmtAttr angegeben. Der SQL Server Native Client ODBC-Treiber implementiert diese Optionen, indem Servercursor mit den folgenden Merkmalen angefordert werden.

Einstellungen für das Cursorverhalten Angeforderte Servercursoreigenschaften
SQL_SCROLLABLE und SQL_SENSITIVE Keysetgesteuerter Cursor und versionsbasierte vollständige Parallelität
SQL_SCROLLABLE und SQL_INSENSITIVE Statischer Cursor und Parallelität READ_ONLY
SQL_SCROLLABLE und SQL_UNSPECIFIED Statischer Cursor und Parallelität READ_ONLY
SQL_NONSCROLLABLE und SQL_SENSITIVE Vorwärtscursor und versionsbasierte vollständige Parallelität
SQL_NONSCROLLABLE und SQL_INSENSITIVE Standardresultset (Vorwärts, schreibgeschützt)
SQL_NONSCROLLABLE und SQL_UNSPECIFIED Standardresultset (Vorwärts, schreibgeschützt)

Versionsbasierte optimistische Parallelität erfordert eine Zeitstempelspalte in der zugrunde liegenden Tabelle. Wenn eine versionsbasierte, optimistische Parallelitätssteuerung für eine Tabelle ohne Zeitstempel angefordert wird, verwendet der Server wertebasierte optimistische Parallelität.

Bildlauffähigkeit

Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_SCROLLABLE festgelegt ist, unterstützt der Cursor alle verschiedenen Werte für den FetchOrientation-Parameter von SQLFetchScroll. Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_NONSCROLLABLE festgelegt ist, unterstützt der Cursor nur den FetchOrientation-Wert SQL_FETCH_NEXT.

Sensitivität

Wenn SQL_ATTR_CURSOR_SENSITIVITY auf SQL_SENSITIVE festgelegt ist, spiegelt der Cursor Datenänderungen wider, die vom aktuellen Benutzer oder über Commitvorgänge anderer Benutzer ausgeführt werden. Wenn SQL_ATTR_CURSOR_SENSITIVITY auf SQL_INSENSITIVE festgelegt ist, spiegelt der Cursor keine Datenänderungen wider.

Weitere Informationen

Verwenden von Cursors (ODBC)Cursoreigenschaften