|
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...)
- What Are Cursors?
- How To Declare a Cursor with "DECLARE ... CURSOR"?
- How To Execute the Cursor Queries with "OPEN" Statements?
- How To Fetch the Next Row from a Cursor with a "FETCH" Statement?
- How To Transfer Data from a Cursor to Variables with a "FETCH" Statement?
- How To Loop through the Result Set with @@FETCH_STATUS?
- How To Declare and Use Cursor Variables?
- How To Create a Scrollable Cursor with the SCROLL Option?
- How To Create a Dynamic Cursor with the DYNAMIC Option?
|