Cursors zijn een mechanisme om expliciet de rijen van een resultatenset op te sommen, in plaats van deze als zodanig op te halen.
Hoewel ze misschien handiger zijn om te gebruiken voor programmeurs die gewend zijn aan het schrijven van While Not RS.EOF Do ...
, ze zijn typisch iets dat vermeden moet worden binnen SQL Server opgeslagen procedures, indien mogelijk -- als u een query kunt schrijven zonder het gebruik van cursors, geeft u de optimizer een veel betere kans om een snelle manier te vinden om het te implementeren.
Eerlijk gezegd heb ik nooit een realistische use case gevonden voor een cursor die niet kon worden vermeden, met uitzondering van een paar administratieve taken zoals het doorlopen van alle indexen in de catalogus en het opnieuw opbouwen ervan. Ik veronderstel dat ze misschien wat nut hebben bij het genereren van rapporten of het samenvoegen van mails, maar het is waarschijnlijk efficiënter om het cursorachtige werk te doen in een toepassing die met de database praat, zodat de database-engine kan doen waar hij goed in is:manipulatie instellen.