Click here to Skip to main content
Click here to Skip to main content
Alternative Tip

Always close your cursor

, 13 Oct 2011
Rate this:
Please Sign up or sign in to vote.
An alternative (simpler way :) ) is:BEGIN TRANDECLARE IdCursor CURSOR FOR SELECT Id FROM MyTable OPEN IdCursor FETCH NEXT FROM IdCursor INTO @CurrentIdWHILE (@@FETCH_STATUS) = 0 BEGIN -- do work IF @@error 0...
An alternative (simpler way Smile | :) ) is:
 
 
BEGIN TRAN
 
DECLARE IdCursor CURSOR FOR SELECT Id FROM MyTable
            
OPEN IdCursor
        
FETCH NEXT FROM IdCursor INTO @CurrentId
WHILE (@@FETCH_STATUS) = 0
    BEGIN   
        
    -- do work               
     IF @@error <> 0
     BEGIN 
      CLOSE IdCursor
      DEALLOCATE IdCursor    
      GOTO err
     END
                    
    FETCH NEXT FROM  IdCursor INTO @CurrentId
END -- end cursor

CLOSE IdCursor
DEALLOCATE IdCursor	
			
   
COMMIT TRAN
RETURN 0 -- success

err:
 
ROLLBACK TRAN 
RETURN 1   -- error

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Elina Blank
Software Developer (Senior) The Code Project
United States United States
Elina joined the Code Project team as a software developer in order to make the site run even smoother than it is now. She will also take care of making wishes and promises on the site improvements come to the light sooner than later. When not at work, she enjoys being with her family and wishes there will be at least 30 hours in a day Smile | :)

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web03 | 2.8.140721.1 | Last Updated 13 Oct 2011
Article Copyright 2011 by Elina Blank
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid