Den eneste funktion af en MySQL markøren er at få og vise databaseposter gennem søgeparametre . Selv om denne definition kan lyde enkelt , sandheden er , at fordi markører fungerer forskelligt og returnere forskellige resultater fra typiske SELECT-sætninger , vel vidende, hvordan og hvornår man skal bruge MySQL markører kan til tider være forvirrende. Generelt er MySQL markører et passende valg til behandling af data rækker, der indeholder flere tabeller eller til når du ønsker at hente og bearbejde bestemte rækker i en gruppe. En kort tutorial kan give grundlæggende oplysninger om, hvordan at udføre denne opgave . Instruktioner
1
Opret en MySQL markøren i erklæringen afsnit af din forespørgsel. Giv den et unikt navn - vigtigt, fordi MySQL giver dig mulighed for at inkludere flere markører i en enkelt procedure , funktion eller trigger - og binde det til en SELECT eller SELECT /WHERE erklæring. En markør , der vil få og vise en udvalgt gruppe af medarbejdere navne i én kolonne og en tre -cifret identifikationsnummer i et andet vises som : Hej
DECLARE name_cursor CURSORFORSELECT emp_name , emp_id fra EMPS HVOR emp_id mellem 100 og 500 ;
2
Sandwich markøren angivelsen efter proceduren variabel og vilkår erklæringer og før valgfrie handleren erklæringer hvis du medtager disse i din forespørgsel : Hej
DECLARE emp_name VARCHAR (30) ; ERKLÆRE emp_id VARCHAR (4),
DECLARE name_cursor CURSORFORSELECT emp_name , emp_id fra EMPS HVOR emp_id mellem 100 og 500 ,
ERKLÆRER FORTSÆT HANDLER FOR IKKE FOUNDSET no_more_rows = true;
< br > 3
Opret en ny tabel til at gemme og vise information : Hej
CREATE tABLE IF NOT EXISTS emp_info ( emp_name VARCHAR , emp_id VARCHAR )
4
Åbn markøren. Åbning automatisk kører forespørgslen i henhold til den SELECT-sætning , du har valgt , tæller antallet af rækker som forespørgslen returnerer og gemmer resultatet i hukommelsen til videre forarbejdning : Hej
OPEN name_cursor ,
5
Hent og behandle databaseposter . Dette trin er, hvor det virkelige arbejde for markøren finder sted, da det sløjfer tilbage fra den sidste til den første database record og gentager eller løkker igen , række -for- række, at udtrække de oplysninger, du har brug for og indsætte det i emp_info tabel:
FETCH name_cursor INTO emp_name , emp_id , INSERT INTO emp_id ( emp_name , emp_id ),
( reference 3 )
6
Luk cursoren for at frigøre interne hukommelse cursoren bruger : Hej
CLOSE name_cursor ,
7
vise resultaterne af din nye lagret procedure : Hej
SELECT * FROM emp_info ;