Cursors zijn een structuur voorzien in programmeerbare versies van Structured Query Language ( SQL ) zoals Sybase of Microsoft SQL Server Transact - SQL . Definieer een cursor voor een select of update van SQL-instructie op een of meer tabellen . De cursor heeft een naam die u kunt gebruiken om te verwijzen naar , openen en sluiten van de cursor of halen rijen van de cursor set . Cursors worden gebruikt bij elke rij in de set moet verwerken of haar waarden worden gebruikt in het programma variabelen . Wanneer een nieuwe cursor wordt gedeclareerd in de lus die elke rij van een cursor verwerkt , wordt de nieuwe binnenste cursor genest in de oude buitenste cursor . Instructies 1 Verklaar een cursor voor een eenvoudige select statement met de volgende T - SQL syntax : DECLARE CURSOR VOOR SELECT veld1 , veld2 , Field3 vAN WAAR veld4 < = @ limitval kopen van 2 Open de cursor voor verwerking met behulp van deze T - SQL syntax : OPEN 3 Fetch rijen uit de open cursor voor verwerking , omdat het een te lezen ( select ) cursor . Verklaren variabelen die nodig zijn om de waarden van de velden op te slaan in de huidige cursor rij . De T - SQL-syntaxis voor het ophalen van de cursor rijen is als volgt : FETCH NEXT FROM INTO @ var_fld1 , var_fld2 , @ var_fld3 terwijl @ @ FETCH_STATUS == 0 @ beginnen --- FETCH NEXT FROM INTO @ var_fld1 , @ var_fld2 , @ var_fld3 < br > einde 4 in de verklaring en de uitvoering van de tweede of binnenste cursor in de fetch -lus van de vorige of de buitenste cursor als volgt : - buitenste cursor fetch lus terwijl @ @ FETCH_STATUS == 0 beginnen - Tijd om te verklaren de binnenste cursor - nesten begint DECLARE inner_cursor cURSOR VOOR SELECT X, Y , Z , .... FROM tabel1 , table2 , ... WAAR OPEN inner_cursor FETCH NEXT FROM inner_cursor INTO @ varX , @ variëren , @ VARZ ... terwijl @ @ FETCH_STATUS == 0 beginnen - innerlijke cursor halen lus - - krijgen volgende tr fETCH nEXT FROM inner_cursor INTO @ varX , @ variëren , @ VARZ ... end - innerlijke cursor halen lus end - buitenste cursor halen lus < br >
|