Zoals gedocumenteerd onder Opgeslagen programma's definiëren :
Als u de mysql gebruikt clientprogramma om een opgeslagen programma te definiëren dat puntkomma's bevat, doet zich een probleem voor. Standaard, mysql herkent zelf de puntkomma als scheidingsteken voor een statement, dus u moet het scheidingsteken tijdelijk opnieuw definiëren om mysql te veroorzaken om de volledige opgeslagen programmadefinitie door te geven aan de server.
Hetzelfde geldt voor phpMyAdmin.
De mysql opnieuw definiëren scheidingsteken, gebruik het
scheidingsteken
commando.Niet alle versies van phpMyAdmin herkennen het
delimiter
opdracht; in plaats daarvan kan men hetscheidingsteken
. gebruiken invoervak onder het SQL-invoervak:zie Hoe schrijf ik een SP in phpMyAdmin (MySQL)?Het volgende is een voorbeeld van een functie die een parameter nodig heeft, een bewerking uitvoert met een SQL-functie en het resultaat retourneert. In dit geval is het niet nodig om
delimiter
. te gebruiken omdat de functiedefinitie geen internebevat;
scheidingstekens voor uitspraken:mysql>
CREATE FUNCTION hello (s CHAR(20))
mysql>RETURNS CHAR(50) DETERMINISTIC
->RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)In jouw geval kun je de
BEGIN ... END
samengesteld instructieblok en vermijd de noodzaak om het scheidingsteken te wijzigen.