Cursors are the objects those allow us to access the data row by row from result set.
Static Cursor make the copy of result set in memory at time of cursor creation and use that temporary result set to return rows. If any changes are made to original table/s data such as insert, update or delete. The Static cursor does not update stored result set with those changes unless we close the cursor and reopen.
Static Cursors are scrollable (First,Last,Prior,Next,Relative,Absolute)
Script for Static Cursor in SQL Server used in the video as well.
Static Cursor make the copy of result set in memory at time of cursor creation and use that temporary result set to return rows. If any changes are made to original table/s data such as insert, update or delete. The Static cursor does not update stored result set with those changes unless we close the cursor and reopen.
Static Cursors are scrollable (First,Last,Prior,Next,Relative,Absolute)
Script for Static Cursor in SQL Server used in the video as well.
--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 STATIC 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
Detailed video on Static Cursor in SQL Server.
No comments:
Post a Comment