De enige functie van een MySQL cursor naar database records te krijgen en weer te geven door middel van query- parameters . Hoewel deze definitie klinkt misschien eenvoudig , de waarheid is dat , omdat de cursors werken anders en andere resultaten typische SELECT-instructies , te weten hoe en wanneer te gebruiken MySQL cursors kan soms verwarrend zijn . In het algemeen , MySQL cursors zijn een geschikte keuze voor het verwerken van data rijen die meerdere tabellen bevatten of voor als je wilt bepaalde rijen ophalen en verwerken binnen een groep . Een korte handleiding kan bieden basisinformatie over hoe u deze taak te volbrengen . Instructies 1 Maak een MySQL cursor in de sectie verklaring van uw zoekopdracht. Geef het een unieke naam - belangrijk omdat MySQL kunt u meerdere cursors in een enkele procedure , functie of trekker zijn - en bindt het aan een SELECT of SELECT /WHERE statement . Een cursor die zal krijgen en weer een selecte groep namen werknemer in een kolom en een drie - cijferig identificatienummer in een andere zal als weergegeven : DECLARE name_cursor CURSORFORSELECT emp_name , emp_id uit emps WAAR emp_id TUSSEN 100 en 500 ; Sandwich 2 de cursor aangifte na procedure variabele voorwaarden verklaringen , en voordat optionele handler verklaringen , als u deze opnemen in uw query : DECLARE emp_name VARCHAR ( 30 ) ; DECLARE emp_id VARCHAR ( 4 ) ; DECLARE name_cursor CURSORFORSELECT emp_name , emp_id uit emps WAAR emp_id TUSSEN 100 en 500 ; VERKLAREN VERDER MANAGER VOOR NIET FOUNDSET no_more_rows = TRUE ; < br > 3 Maak een nieuwe tabel om de informatie op te slaan en weer te geven : CREATE TABLE IF NOT EXISTS emp_info ( emp_name VARCHAR , emp_id VARCHAR ) ; 4 Open de cursor . Opening wordt automatisch de query op basis van de instructie SELECT je hebt gekozen, telt het aantal rijen van de query en slaat het resultaat op in het geheugen voor verdere verwerking : OPEN name_cursor ; 5 ophalen en verwerken van de database records . Deze stap is waar het echte werk van de cursor geschiedt als het lussen terug van de laatste naar de eerste gegevensbestandverslag en herhaalt of lussen weer , rij - op - rij , om de informatie die u nodig hebt halen en steek deze in de emp_info tabel : FETCH name_cursor INTO emp_name , emp_id ; INSERT INTO emp_id ( emp_name , emp_id ) ; ( referentie 3 ) 6 Sluit de cursor vrij te maken interne geheugen de cursor wordt gebruikt : CLOSE name_cursor ; 7 Toon de resultaten van uw nieuwe opgeslagen procedure : SELECT * FROM emp_info ;
|