Forward Only Cursors không cho phép cuộn lùi. Tùy chọn cuộn duy nhất mà chúng tôi có là FETCH NEXT.
Chỉ chuyển tiếp Con trỏ tĩnh nhạy cảm với bất kỳ thay đổi nào (cập nhật, xóa, chèn) được thực hiện đối với nguồn dữ liệu gốc. Nếu các thay đổi được thực hiện, chúng sẽ được trích xuất trên Tìm nạp tiếp theo.
Tập lệnh cho Con trỏ động Forward_Only
--drop table dbo.Customer Create table dbo.Customer ( CustomerId Int Identity(1,1), CustomerName VARCHAR(100), StreetAddress VARCHAr(100), City VARCHAR(100), State CHAR(2)) go --Insert couple of Records in Sample Table Insert into dbo.Customer Select 'Aamir shahzad','Test Street Address','Charlotte','NC' Union Select 'M Raza','Test Street Address','Charlotte','NC' Select * from dbo.Customer --Insert NEW Record Insert into dbo.Customer Select 'John Smith','Test Street Address','New York City','NY' --Delete Records Delete from dbo.Customer Where CustomerName in ('Aamir Shahzad','M Raza') --Update All Record Update dbo.Customer set CustomerName='NO NAME' --Cursor Script Declare @CustomerID INT Declare @CustomerNAme VARCHAR (100) DECLARE @StreetAddress VARCHAR(100) DECLARE @City VARCHAR(100) DECLARE @State CHAR(2) --DECLARE A CURSOR DECLARE CUR CURSOR Forward_Only Dynamic FOR Select CustomerID,CustomerName,StreetAddress,City,State from dbo.Customer --OPEN CURSOR OPEN CUR Print 'CURSOR IS OPEN' --FETCH NEXT RECORD FETCH NEXT FROM CUR INTO @CustomerID,@CustomerNAme,@StreetAddress,@City,@State WHILE @@FETCH_STATUS=0 BEGIN RAISERROR ('',0,1) WITH NOWAIT WAITFOR DELAY '00:00:15' PRINT CONCAT(@CustomerID,' ',@CustomerNAme,' ',@StreetAddress,' ',@City,' ',@State) FETCH NEXT FROM CUR INTO @CustomerID,@CustomerNAme,@StreetAddress,@City,@State END CLOSE CUR DEALLOCATE CUR
Xem video để biết chi tiết về Con trỏ động Chỉ chuyển tiếp trong SQL Server