De DELIMITER commando is een ingebouwde MySQL-shellclient en wordt alleen door dat programma (en MySQL Query Browser) herkend. Het is niet nodig om DELIMITER . te gebruiken als u SQL-instructies rechtstreeks uitvoert via een API.
Het doel van DELIMITER is om u te helpen onduidelijkheid te voorkomen over de beëindiging van de CREATE FUNCTION statement, wanneer het statement zelf puntkomma's kan bevatten. Dit is belangrijk in de shell-client, waar standaard een puntkomma een SQL-instructie beëindigt. U moet de instructieterminator op een ander teken instellen om de hoofdtekst van een functie (of trigger of procedure) in te dienen.
CREATE FUNCTION trivial_func (radius float)
RETURNS FLOAT
BEGIN
IF radius > 1 THEN
RETURN 0.0; <-- does this semicolon terminate RETURN or CREATE FUNCTION?
ELSE
RETURN 1.0;
END IF;
END
Aangezien de API u doorgaans toestaat om één SQL-instructie tegelijk in te dienen, is er geen dubbelzinnigheid -- de interface weet dat puntkomma's in de hoofdtekst van uw functiedefinitie niet de hele CREATE FUNCTION beëindigen uitspraak. Het is dus niet nodig om de instructieterminator te wijzigen met DELIMITER .