Nur Vorwärts-Cursor erlauben kein Rückwärts-Scrollen. Die einzige Bildlaufoption, die wir haben, ist FETCH NEXT.
Nur vorwärts Statische Cursor reagieren nicht auf Änderungen (aktualisieren, löschen, einfügen), die an der ursprünglichen Datenquelle vorgenommen werden, nachdem der Cursor erstellt wurde.
Skript für Forward_Only Static Cursor
--drop table dbo.CustomerCreate table dbo.Customer ( CustomerId Int Identity(1,1),CustomerName VARCHAR(100),StreetAddress VARCHAR( 100),City VARCHAR(100),State CHAR(2))go--Einige Datensätze in Beispieltabelle einfügenIn dbo einfügen. KundeWählen Sie „Aamir shahzad“, „Test Street Address“, „Charlotte“, „NC“ Union Select „ M Raza','Test Street Address','Charlotte','NC'Select * from dbo.Customer--Insert NEW RecordInsert into dbo.CustomerSelect 'John Smith','Test Street Address','New York City',' NY'--Datensätze löschenDelete from dbo.CustomerWhere CustomerName in ('Aamir Shahzad','M Raza')--Alle Datensätze aktualisierenUpdate dbo.Customerset CustomerName='NO NAME'--Cursor ScriptDeclare @CustomerID INTDeclare @CustomerName VARCHAR (100) DECLARE @StreetAdd drücken VARCHAR(100)DECLARE @City VARCHAR(100)DECLARE @State CHAR(2)--DECLARE A CURSORDECLARE CUR CURSORForward_Only StaticFORSelect CustomerID,CustomerName,StreetAddress,City,State from dbo.Customer--OPEN CURSOROPEN CURPrint 'CURSOR IS OPEN' --FETCH NEXT RECORDNEXT FROM CUR IN @CustomerID,@CustomerNAME,@StreetAddress,@City,@StateWHILE @@FETCH_STATUS=0BEGIN RAISERROR ('',0,1) WITH NOWAITWAITFOR DELAY '00:00:15'PRINT CONCAT( @CustomerID,' ',@CustomerName,' ',@StreetAddress,' ',@City,' ',@State)FETCH NEXT FROM CUR INTO @CustomerID,@CustomerName,@StreetAddress,@City,@StateENDCLOSE CURDEALLOCATE CUR
Sehen Sie sich das Video an, um zu sehen, wie Forward Only Static Cursors in SQL Server funktionieren.