www.wikidata.de-de.nina.az
Eine benutzerdefinierte Funktion englisch user defined function Abkurzung UDF in einer Programmierumgebung bezeichnet eine Funktion die der Anwender selbst erstellen und in seine Projekte einbinden kann Sie erfullt eine Aufgabe wie ein Makro wird jedoch uber einen Funktionsaufruf realisiert Benutzerdefinierte Funktionen sind in allgemeinen Programmiersprachen wie Visual Objects Skriptsprachen wie PHP spezieller Makrosoftware wie AutoIt und in Datenbanksprachen wie SQL und Firebird verfugbar Die Syntax einer benutzerdefinierten Funktion muss der Syntax der zugrundeliegenden Programmiersprache entsprechen wobei vordefinierte Standardfunktionen und andere benutzerdefinierte Funktionen in der Definition verwendet werden konnen Eine benutzerdefinierte Funktion muss genau einen Ruckgabewert liefern Im Gegensatz zu einer gespeicherten Prozedur kann eine benutzerdefinierte Funktion nicht als Programm gestartet werden Inhaltsverzeichnis 1 Beispiele 1 1 Skalare benutzerdefinierte Funktion in SQL 1 2 External Table Function externe Tabellenfunktion in SQL 2 WeblinksBeispiele BearbeitenSkalare benutzerdefinierte Funktion in SQL BearbeitenDer folgenden skalaren benutzerdefinierten Funktion wird der Fremdschlussel PersNr der Person vom Datentyp Integer ubergeben Die Funktion gibt die kleinste Vorlesungsnummer fur diese Person zuruck CREATE FUNCTION GibMinVorlesungsnummer PersNr INT RETURNS INT AS RETURN AS RETURN SELECT MIN VorlNr FROM Vorlesung WHERE PersNr PersNr Nachdem diese benutzerdefinierte Funktion in der Datenbank gespeichert ist kann sie innerhalb einer SQL Abfrage verwendet werden Die AbfrageSELECT Professor PersNr Professor Name GibMinVorlesungsnummer PersNr AS MinVorlNr SELECT Titel FROM Vorlesung WHERE VorlNr GibMinVorlesungsnummer PersNr AS Titel FROM Professor konnte folgende Tabelle als Ergebnis zuruckgeben PersNr Name MinVorlNr Titel12 Wirth 1000 Softwareentwicklung 115 Tesla 1001 Datenbanken20 Urlauber 1200 Netzwerke 1External Table Function externe Tabellenfunktion in SQL Bearbeiten In dieser Variante wird genau eine unbenannte SQL Tabelle als Ruckgabewert geliefert Sie kann innerhalb einer SQL Anweisung uberall dort stehen wo auch eine SQL Tabelle stehen kann Auf SQL Ebene wird ein Kontrolleintrag definiert der auf ein externes Programm verweist Das Datenbanksystem unterstutzt in der Regel mehrere Programmiersprachen in denen das Programm geschrieben werden kann Die folgende benutzerdefinierte Funktion in SQL hat zwei Parameter VorlNr PersNr vom Datentyp Integer CREATE FUNCTION GibVorlesungen VorlNr INT PersNr INT RETURNS TABLE AS RETURN AS SELECT Vorlesung VorlNr Vorlesung Titel Professor PersNr Professor Name FROM Professor INNER JOIN Vorlesung ON Professor PersNr Vorlesung PersNr WHERE VorlNr VorlNr AND PersNr PersNr Die AbfrageSELECT FROM GibVorlesungen 1001 15 konnte folgendes Ergebnis zuruckgeben siehe SQL Sicht VorlNr Titel PersNr Name1001 Datenbanken 15 UrlauberWeblinks BearbeitenMicrosoft Docs https docs microsoft com en us sql relational databases user defined functions create user defined functions database engine view sql server ver15Create User defined Functions Database Engine Abgerufen von https de wikipedia org w index php title User Defined Function amp oldid 201164516