Beispiel für eine MySQL Funktion
Ich bereite momentan die Spendenquittungen der Dingfabrik mit Python, Jinja2, MySQL und LaTeX auf. Um den SQL Code sauber zu halten, lagere ich einiges aus dem Python-Code in MySQL Funktionen aus.
Hier ein einfaches Beispiel, das basierend auf Parametern für Mitglieds-ID und Namenstyp entweder der Vornamen, Nachnamen oder kompletten Namen eines Mitglieds zurückgibt.
DROP FUNCTION IF EXISTS fs_getname; DELIMITER $$ CREATE FUNCTION fs_getname(nummer INT, typ CHAR) RETURNS VARCHAR(100) NOT DETERMINISTIC BEGIN IF typ = 'c' THEN RETURN (SELECT TRIM(CONCAT(COALESCE(Vorname,"")," ",COALESCE(Name," "))) FROM Stammdaten WHERE ID = nummer); ELSEIF typ = 'f' THEN RETURN (SELECT COALESCE(Vorname,"") FROM Stammdaten WHERE ID = nummer); ELSEIF typ = 'l' THEN RETURN (SELECT COALESCE(Name,"") FROM Stammdaten WHERE ID = nummer); END IF; END$$ DELIMITER ; |