Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Een MySQL-functie maken op een Cloud Server

Bijwerken 06-08-2026

Deze handleiding beschrijft het gebruik van DELIMITER voor het maken van MySQL-functies op de Cloud Server van Infomaniak.

 

Inleiding

  • Bij het maken van functies of opgeslagen procedures in MySQL is het cruciaal om de rol van de scheidingstekens te begrijpen.
  • Het correct gebruiken van scheidingstekens is essentieel om syntaxisfouten te voorkomen die kunnen ontstaan doordat er meerdere SQL-instructies in één functie- of proceduredefinitie voorkomen.

 

Het scheidingsteken begrijpen

Een scheidingsteken is een teken of een reeks tekens die wordt gebruikt om SQL-instructies in een script te scheiden. Standaard gebruikt MySQL het puntkommateken (;) als scheidingsteken. Wanneer u echter functies, opgeslagen procedures of triggers maakt die meerdere SQL-instructies bevatten, is het noodzakelijk om het scheidingsteken tijdelijk te wijzigen om syntaxisfouten te voorkomen.

Wanneer u een functie, procedure of trigger maakt, moet u vaak meerdere SQL-instructies binnen de BEGIN...END-blokken gebruiken. Omdat het puntkommateken (;) ook wordt gebruikt om deze interne instructies af te sluiten, kan MySQL het eerste puntkommateken interpreteren als het einde van de functiedefinitie, wat resulteert in een syntaxisfout. Om dit probleem te omzeilen, moet u de afscheidingstekens wijzigen tijdens het definiëren van de functie.

 

Een eenvoudige functie maken met aangepaste afscheidingstekens

Voordat u de functie definieert, moet u MySQL aangeven dat u een andere scheidingsteken gaat gebruiken. In het onderstaande voorbeeld wordt $$ gebruikt als nieuw scheidingsteken:

DELIMITER $$

Met de nieuwe afscheidingstekens kunt u nu uw functie definiëren. De CREATE FUNCTION-instructie bevat de functie-inhoud, waarin u interne SQL-instructies kunt gebruiken die door puntkomma's van elkaar worden gescheiden, zonder dat dit problemen oplevert:

CREATE FUNCTION hello_world()
RETURNS TEXT
LANGUAGE SQL
BEGIN
RETURN 'Hello World';
END;
$$

In dit voorbeeld:

  • CREATE FUNCTION hello_world(): markeert het begin van de definitie van de functie hello_world.
  • RETURNS TEXT: geeft het datatype aan dat de functie retourneert.
  • LANGUAGE SQL: geeft aan dat de taal die voor de functie wordt gebruikt SQL is.
  • BEGIN ... END: omsluit de code van de functie. Binnenin wordt het puntkommateken gebruikt om SQL-instructies te scheiden.
  • RETURN 'Hello World';: een SQL-instructie die de tekenreeks Hello World retourneert.

Nadat u de functie hebt gedefinieerd, stelt u de scheidingsteken weer in op de standaardwaarde (puntkomma). Hierdoor kunt u de gebruikelijke SQL-instructies in uw volgende scripts blijven uitvoeren:

DELIMITER ;

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1150


Is deze veelgestelde vragenlijst nuttig geweest?