Home >> FAQs/Tutorials >> SQL Server FAQ

SQL Server FAQ - Declaring and Using Cursor Variables

By: FYIcenter.com

(Continued from previous topic...)

How To Declare and Use Cursor Variables?

There are two ways to representing a cursor:

1. A cursor name - A static name representing a cursor object. A cursor name should be linked to a cursor object in the DECLARE statement.

2. A cursor variable name - A variable name pointing to a cursor object. A cursor variable name should be declared with the CURSOR data type. It should be then assigned with a cursor object using the SET statement.

The tutorial exercise below shows you how to declare a cursor variable and assign a cursor object to it:

USE FyiCenterData;
GO

-- declare a cursor variable
DECLARE @fyi_cursor CURSOR;

-- assign a cursor object
SET @fyi_cursor = CURSOR FOR
  SELECT id, url, notes, counts, time FROM fyi_links;

-- execute the query and fetch results
OPEN @fyi_cursor;
DECLARE @id INT, @url VARCHAR(80), @notes VARCHAR(80),
  @counts INT, @time DATETIME;
FETCH NEXT FROM @fyi_cursor INTO @id, @url, @notes, 
  @counts, @time;
WHILE @@FETCH_STATUS = 0 BEGIN
  PRINT CONVERT(CHAR(5),ISNULL(@id,0))
    +CONVERT(CHAR(18),ISNULL(@url,'NULL'))
    +CONVERT(CHAR(20),ISNULL(@notes,'NULL'))
    +CONVERT(CHAR(4),ISNULL(@counts,0))
    +CONVERT(CHAR(11),ISNULL(@time,'2007'));
  FETCH NEXT FROM @fyi_cursor INTO @id, @url, @notes, 
    @counts, @time;
  END
CLOSE @fyi_cursor;
DEALLOCATE @fyi_cursor;
GO

101  dev.fyicenter.com NULL                0   Jan  1 2007
102  dba.fyicenter.com Nice site.          8   Jan  1 2007
1101 moc.retneciyf.ved NULL                0   Jan  1 2007
202  www.yahoo.com     It's another search 0   Jan  1 2007
2101 dev.fyicenter.com NULL                0   Jan  1 2007
2102 dba.fyicenter.com NULL                0   Jan  1 2007
301  netscape.com      Added long time ago!0   Jan  1 1999
302  myspace.com       Added today!        0   Jul  1 2007

(Continued on next topic...)

  1. What Are Cursors?
  2. How To Declare a Cursor with "DECLARE ... CURSOR"?
  3. How To Execute the Cursor Queries with "OPEN" Statements?
  4. How To Fetch the Next Row from a Cursor with a "FETCH" Statement?
  5. How To Transfer Data from a Cursor to Variables with a "FETCH" Statement?
  6. How To Loop through the Result Set with @@FETCH_STATUS?
  7. How To Declare and Use Cursor Variables?
  8. How To Create a Scrollable Cursor with the SCROLL Option?
  9. How To Create a Dynamic Cursor with the DYNAMIC Option?

Related Articles:

More...


Other Tutorials/FAQs:

More...


Related Resources:

More...


Selected Jobs:

More...