In diesem MySQL-Tutorial wird erklärt, wie Sie mit der FETCH-Anweisung die nächste Zeile für einen Cursor in MySQL mit Syntax und Beispielen abrufen.
Beschreibung
In den meisten Fällen dient die Verwendung eines Cursors dazu, die Zeilen von Ihrem Cursor abzurufen, damit eine bestimmte Operation für die Daten ausgeführt werden kann. Nachdem Sie deklariert und Ihren Cursor geöffnet haben, müssen Sie im nächsten Schritt die Anweisung FETCH verwenden, um Zeilen aus Ihrem Cursor abzurufen.
Syntax
Die Syntax für die FETCH-Anweisung in MySQL lautet:
Parameter oder Argumente
- cursor_name
- Der Name des Cursors, den Sie Zeilen abrufen möchten.
- Variable_list
- Die Liste der Variablen, in denen die Cursor-Ergebnismenge gespeichert werden soll.
Beispiel
Schauen wir uns an, wie Sie mit der FETCH-Anweisung in MySQL die nächste Zeile für einen Cursor abrufen.
Beispielsweise könnten Sie einen Cursor in MySQL wie folgt definieren:
1 2 3 4 |
DECLARE c1 CURSOR FOR SELECT site_id FROM sites WHERE site_name = name_in; |
Der Befehl, der zum Abrufen der Daten von diesem Cursor verwendet wird, lautet:
1 |
FETCH c1 INTO siteID; |
Dies würde den ersten site_id-Wert in die Variable siteID holen.
Unten sehen Sie eine Funktion, die die Verwendung der FETCH-Anweisung demonstriert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
DELIMITER // CREATE FUNCTION FindSiteID ( name_in VARCHAR(50) ) RETURNS INT BEGIN DECLARE done INT DEFAULT FALSE; DECLARE siteID INT DEFAULT 0; DECLARE c1 CURSOR FOR SELECT site_id FROM sites WHERE site_name = name_in; DECLARE CONTINUE HANDLER FOR NOT FOAND SET done = TRUE; OPEN c1; FETCH c1 INTO siteID; CLOSE c1; RETURN siteID; END; // DELIMITER ; |