Hallo
MySQL-Manual:
warum MySQL 5.1? Ok, MySQL 5.1 geht allmählich auf den Status Release Candidate zu - verwenden würde ich persönlich MySQL 5.1 im Produktionseinsatz
noch auf keinen Fall. Siehe MySQL 5.0, wo in Version 5.0.12 kurz vor dem RC
die JOIN-Syntax inkompatibel geändert wurde.
Der Satz: "Cursors müssen vor Handlern und Variablen und Bedingungen vor Cursors und Handlern deklariert werden."
eine falsche Übersetzung wie Dir dem Original leicht hättest entnehmen können:
<zitat>
Cursors must be declared before declaring handlers. Variables and
conditions must be declared before declaring either cursors or handlers.
</zitat>
Text gleich bei der Doku von MySQL 5.0 und MySQL 5.1.
CREATE PROCEDURE curdemo()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a CHAR(16);
DECLARE b,c INT;
DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;
DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;OPEN cur1;
OPEN cur2;[...]
Verstehe ich da nun 'was falsch,
Nein.
oder widersprechen die MySQL-er sich da selbst?
Nein, nur ein Übersetzungsfehler.
Wie ist es denn nun richtig und vor allem, warum?
Lies das Original:
Cursors (5.0)
Cursors (5.1)
Freundliche Grüße
Vinzenz