- User Defined Function
-
Eine Benutzerdefinierte Funktion (engl. User Defined Function, Abkürzung UDF) in einer Programmierumgebung bezeichnet eine Funktion, die der Anwender selbst erstellen und in seine Projekte einbinden kann. Sie erfüllt eine Aufgabe wie ein Makro, wird jedoch über einen Funktionsaufruf realisiert. UDFs sind in allgemeinen Programmiersprachen wie Visual Objects, Skriptsprachen wie PHP, spezieller Makrosoftware wie AutoIt und in Datenbanksprachen wie SQL und Firebird verfügbar.
Die Syntax einer UDF muss der Syntax der zugrundeliegenden Sprache entsprechen, wobei vordefinierte Standardfunktionen und andere UDFs in der Definition verwendet werden können. Als Funktion muss eine UDF genau einen Rückgabewert liefern.
Im Gegensatz zu einer Stored Procedure kann eine UDF nicht als Programm gestartet werden.
Beispiele
- Einfache UDF in SQL
Der folgenden UDF werden zwei Datumswerte übergeben, die Funktion gibt das jüngere Datum zurück.
CREATE FUNCTION [MaxDateValue] (@v1 datetime , @v2 datetime) RETURNS datetime AS BEGIN IF (@v1 < @v2) RETURN (@v2) RETURN(@v1) END
Nachdem diese UDF in der Datenbank gespeichert ist, kann sie innerhalb einer SQL-Abfrage verwendet werden:
SELECT MaxDateValue(KaufDatum, Bestelldatum) FROM Auftrag
- External Table Function („externe Tabellenfunktion“) in SQL
In dieser Variante wird genau eine (unbenannte) SQL-Tabelle als Rückgabewert geliefert. Sie kann innerhalb einer SQL-Anweisung überall dort stehen, wo auch eine SQL-Tabelle stehen kann. Auf SQL-Ebene wird ein Kontrolleintrag definiert, der auf ein externes Programm verweist. Das Datenbanksystem unterstützt in der Regel mehrere Programmiersprachen, in denen das Programm geschrieben werden kann.
Wikimedia Foundation.