Som dokumenteret under Definition af lagrede programmer :
Hvis du bruger mysql klientprogram til at definere et lagret program indeholdende semikolontegn, opstår der et problem. Som standard er mysql selv genkender semikolon som en sætningsadskiller, så du skal omdefinere afgrænseren midlertidigt for at forårsage mysql at sende hele den lagrede programdefinition til serveren.
Det samme gælder for phpMyAdmin.
For at omdefinere mysql afgrænser, brug
adskiller
kommando.Ikke alle versioner af phpMyAdmin genkender
adskilleren
kommando; i stedet kan man brugeDelimiter
inputboks under SQL-inputfeltet:se Hvordan skriver jeg en SP i phpMyAdmin (MySQL)?Det følgende er et eksempel på en funktion, der tager en parameter, udfører en operation ved hjælp af en SQL-funktion og returnerer resultatet. I dette tilfælde er det unødvendigt at bruge
delimiter
fordi funktionsdefinitionen ikke indeholder nogen intern;
sætningsafgrænsere:mysql>
CREATE FUNCTION hello (s CHAR(20))
mysql>RETURNS CHAR(50) DETERMINISTIC
->RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)I dit tilfælde kan du fjerne
BEGIN ... END
sammensat sætningsblok og undgå behovet for at ændre skilletegn.