Ähnlich wie Stored Procedures aber es gibt ein paar Unterschiede:

  • Die Parameterliste einer Funktion darf nur IN-Parameter enthalten. Out- und INOUT-Parameter sind nicht zulässig.
  • Die Angabe des In-Schlüsselworts ist weder erforderlich noch zulässig.
  • Die Funktion selbst muss einen einzelnen Wert zurückgeben, dessen Typ im Header der Funktion definiert ist.
  • Funktionen können in SQL-Anweisungen aufgerufen werden.
  • Eine Funktion gibt möglicherweise keine Ergebnismenge zurück

Definition

DELIMITER || 
CREATE FUNCTION <FunctionName> (<variable> <Datatype>[, ...]) 
[RETURNS <Datentyp>]
NO SQL DETERMINISTIC 
BEGIN
	#Code 
	[RETURN <Value>; ]
END || 
DELIMITER ;

Aufruf

SELECT <FunctionName>([paramValue])

Löschen

DROP FUNCTION [IF EXISTS] <FunctionName>;