Forum Moderators: open
It's tedious, my very first stored procedure is... messy.
I've got a syntax error in phpmyadmin and MySQL Query Browser, and none in console (?)
Here is the code:
DELIMITER //
CREATE PROCEDURE storedp.checkInSites(OUT dn VARCHAR(255))
BEGIN
DECLARE val VARCHAR(255);
DECLARE c CURSOR FOR SELECT storedp.parasites.dn FROM storedp.parasites WHERE 1=1 LIMIT 0,100;
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
SET sql_mode='ansi';
SET dn='';
OPEN c;
SET @x = 0;
REPEAT
SET @x = @x + 1;
FETCH c INTO val;
SET dn=CONCAT('dn is ',val);
UNTIL @x > 11 END REPEAT;
CLOSE c;
END
//
DELIMITER ;
The error in phpmyadmin is the following :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER //
CREATE PROCEDURE storedp.checkInSites(OUT dn VARCHAR(255))
BEGIN
D' at line 1
I also tried to generate it through PHP :
$connection=mysql_connect('localhost','storedp','storedp');
mysql_select_db('storedp',$connection);
$query="
DELIMITER //
CREATE PROCEDURE storedp.checkInSites(OUT dn VARCHAR(255))
BEGIN
DECLARE val VARCHAR(255);
DECLARE c CURSOR FOR SELECT storedp.parasites.dn FROM storedp.parasites WHERE 1=1 LIMIT 0,100;
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
SET sql_mode='ansi';
SET dn='';
OPEN c;
SET @x = 0;
REPEAT
SET @x = @x + 1;
FETCH c INTO val;
SET dn=CONCAT('dn is ',val);
UNTIL @x > 11 END REPEAT;
CLOSE c;
END
//
DELIMITER ; ";
echo "<pre>".$query."</pre>";
mysql_query($query) or die(mysql_error());
mysql_close($connection);
But the result is the same... Any help appreciated. Thanks in advance.
Marino