Het functievoorbeeld dat u laat zien, is een Opgeslagen functie , geen UDF. Opgeslagen functies in MySQL ondersteunen geen variabel aantal argumenten, zoals @Enzino antwoordde.
MySQL-UDF's worden geschreven in C of C++, gecompileerd tot dynamische objectbestanden en vervolgens gekoppeld aan de MySQL-server met een andere syntaxis van CREATE FUNCTION
.
Zie http://dev.mysql.com/doc/ refman/5.5/en/adding-udf.html voor details over het schrijven van UDF's. Maar ik weet niet of je C/C++-code wilt schrijven om dit te doen.
MySQL UDF's ondersteunen een variabel aantal argumenten. In feite accepteren alle UDF's impliciet een willekeurig aantal argumenten, en het is aan jou als programmeur om te bepalen of het aantal en de datatypes van de gegeven argumenten geldig zijn voor jouw functie.
Het verwerken van functieargumenten in UDF's is gedocumenteerd in http://dev .mysql.com/doc/refman/5.5/en/udf-arguments.html