Normaal , SQL ( Structured Query Language ) verzoeken te werken met volledige sets van gegevens . Er zijn echter momenten waarop het beste of zelfs nodig zijn om gegevens te bewerken een rij tegelijk . Voor deze omstandigheden , cursors zijn de beste optie . Ze laten een bewerking wordt uitgevoerd op elke rij een gegevensverzameling , een tegelijk . Bijvoorbeeld , cursors zijn de gemakkelijkste manier om te bewegen door middel van een volledige set van gegevens en toepassing van een procedure voor elke rij in de set . Echter, dit komt op een kostprijs : cursors zijn over het algemeen veel langzamer dan andere SQL-bewerkingen . Instructies Type 1 de volgende opdracht in de SQL Server- console om de cursor te verklaren : DECLARE cursor1 CURSOR kopen van 2 Zorg voor een SELECT-instructie die ophaalt de gegevens van de cursor zal werken op : VOOR SELECT achternaam FROM werknemers VOOR UPDATE VAN last_name Dit zal halen een lijst van last_names van een medewerker tafel . Het bepaalt ook dat u wordt het updaten van de achternaam als je verder door de gegevens van de cursor 3 Open de cursor door het volgende te typen : . OPEN cursor1 Goedkope 4 Begin itereren door de rijen door het volgende te typen : FETCH NEXT FROM cursor1 INTO @ LASTNAME TERWIJL @ @ FETCH_STATUS = 0 < br > BEGIN 5 Werk de achternaam door het volgende te typen : EXEC UPPER ( @ LASTNAME ) op Dit zal de laatste naam van de set huidige rij dus het is in alle hoofdletters 6 Fetch andere rij voor het beëindigen van de WHILE lus begonnen in stap 4 : . FETCH NEXT FROM cursor1 INTO @ LASTNAME END 7 Sluit de cursor en laat zijn naam , zodat het weer gebruikt kan worden als dat nodig is : CLOSE cursor1 DEALLOCATE cursor1
|