Verwenden von Cursorn (ODBC)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
ODBC unterstützt ein Cursormodell, das Folgendes zulässt:
Mehrere Typen von Cursorn
Das Durchführen eines Bildlaufs und Positionieren innerhalb eines Cursors
Mehrere Parallelitätsoptionen
Positionierte Updates.
ODBC-Anwendungen deklarieren und öffnen Nur selten Cursor oder verwenden Cursor-bezogene Transact-SQL-Anweisungen. ODBC öffnet automatisch einen Cursor für jeden Resultset, der aus einer SQL-Anweisung zurückgegeben wird. Die Eigenschaften der Cursor werden durch Anweisungsattribute gesteuert, die mit SQLSetStmtAttr festgelegt wurden, bevor die SQL-Anweisung ausgeführt wird. Die ODBC-API-Funktionen zum Verarbeiten der Resultsets unterstützen sämtliche Cursorfunktionalitäten einschließlich Abrufen, Durchführen eines Bildlaufs und positionierte Updates.
Dies ist ein Vergleich der Funktionsweise von Transact-SQL-Skripts und ODBC-Anwendungen mit Cursorn.
Aktion | Transact-SQL | ODBC |
---|---|---|
Definieren des Cursorverhaltens | Angeben durch DECLARE CURSOR-Parameter | Festlegen von Cursorattributen mithilfe von SQLSetStmtAttr |
Öffnen eines Cursors | CURSOR ÖFFNEN cursor_name | SQLExecDirect oder SQLExecute |
Zeilen abrufen | FETCH | SQLFetch oder SQLFetchScroll |
Positioniertes Update | WHERE CURRENT OF-Klausel mit UPDATE oder DELETE | SQLSetPos |
Schließen eines Cursors | CLOSE cursor_name DEALLOCATE | SQLCloseCursor |
Die in SQL Server implementierten Servercursor unterstützen die Funktionalität des ODBC-Cursormodells. Der SQL Server Native Client-Treiber verwendet Servercursor, um die Cursorfunktionalität der ODBC-API zu unterstützen.
In diesem Abschnitt
Weitere Informationen
SQL Server Native Client (ODBC)
CLOSE (Transact-SQL)
Cursor
DEALLOCATE (Transact-SQL)
DECLARE CURSOR (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)