Само напред курсорите не позволяват превъртане назад. Единствената опция за превъртане, която имаме, е FETCH NEXT.
Само препращане Статичните курсори не са чувствителни към промени (актуализация, изтриване, вмъкване), направени в оригиналния източник на данни след създаването на курсора.
Скрипт за статичен курсор само за препращане
--пуснете таблица dbo.CustomerCreate table dbo.Customer (CustomerId Int Identity(1,1),CustomerName VARCHAR(100),StreetAddress VARCHAr( 100),City VARCHAR(100),State CHAR(2))go--Вмъкнете няколко записа в Примерна таблица Вмъкнете в dbo.CustomerSelect 'Aamir shahzad','Test Street Address','Charlotte','NC'Union Select' M Raza','Test Street Address','Charlotte','NC'Изберете * от dbo.Customer--Вмъкнете НОВ записInsert в dbo.CustomerSelect 'John Smith','Test Street Address','New York City',' NY'--Изтриване на RecordsDelete от dbo.CustomerWhere CustomerName в ('Aamir Shahzad','M Raza')--Update All RecordUpdate dbo.Customerset CustomerName='NO NAME'--Cursor ScriptDeclare @CustomerreARME @CustomerreARME10Du) ДЕКЛАРИРАЙТЕ @StreetAdd ress VARCHAR(100)DECLARE @City VARCHAR(100)DECLARE @State CHAR(2)--ДЕКЛАРИРАНЕ НА CURSORDECLARE CUR CURSORForward_Only StaticFORSelect CustomerID,CustomerName,StreetAddress,City,State,State,State CHAR(2)--DECLARE A CURSORDECLARE CUR CURSORForward_Only StaticFORSelect CustomerID,CustomerName,StreetAddress,City,State'State'OpCUENCURRS-DOPCUENCURRS- --ИЗВЛЕЧВАНЕ НА СЛЕДВАЩ ЗАПИС ИЗВЛЕЧВАНЕ СЛЕДВАЩО ОТ CUR В @CustomerID,@CustomerNAME,@StreetAddress,@City,@StateWHILE @@FETCH_STATUS=0BEGIN RAISERROR ('',0,1) WITH NOWAITFOR DELAY '050':0 @CustomerID,' ',@CustomerNAME,' ',@StreetAddress,' ',@City,' ',@State)ИЗВЛЕЧВАНЕ НА СЛЕДВАЩО ОТ CUR В @CustomerID,@CustomerNAME,@StreetAddress,@City,@StateEND CLOSE CURDEALLOCATE предварително>
Гледайте видеоклипа за демонстрация как работят само статичните курсори напред в SQL Server.