Cursors are the objects those allow us to access the data row by row from result set.
Forward Only Cursors do not allow backward scrolling. The only scrolling option we have is FETCH NEXT.
Forward only Static Cursors are sensitive to any changes ( update, delete, insert) made to original data source. If the changes are made, they will be extracted on Next Fetch.
Script for Forward_Only Dynamic Cursor
Forward Only Cursors do not allow backward scrolling. The only scrolling option we have is FETCH NEXT.
Forward only Static Cursors are sensitive to any changes ( update, delete, insert) made to original data source. If the changes are made, they will be extracted on Next Fetch.
Script for Forward_Only Dynamic Cursor
--drop table dbo.Customer
Createtable dbo.Customer (
CustomerId IntIdentity(1,1),
CustomerName VARCHAR(100),
StreetAddress VARCHAr(100),
City VARCHAR(100),
StateCHAR(2))
go
--Insert couple of Records in Sample Table
Insertinto 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
Insertinto dbo.Customer
Select'John Smith','Test Street Address','New York City','NY'
--Delete Records
Deletefrom 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 @StateCHAR(2)
--DECLARE A CURSOR
DECLARE CUR CURSOR
Forward_Only Dynamic
FOR
Select CustomerID,CustomerName,StreetAddress,City,Statefrom dbo.Customer
--OPEN CURSOR
OPEN CUR
Print'CURSOR IS OPEN'
--FETCH NEXT RECORD
FETCHNEXTFROM 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)
FETCHNEXTFROM CUR INTO @CustomerID,@CustomerNAme,@StreetAddress,@City,@State
END
CLOSE CUR
DEALLOCATE CUR
Watch the video for Forward Only Dynamic Cursor details in SQL Server