Pokazany przykład funkcji to funkcja przechowywana , a nie UDF. Funkcje przechowywane w MySQL nie obsługują zmiennej liczby argumentów, jak odpowiedział @Enzino.
UDF MySQL są napisane w C lub C++, kompilowane w dynamiczne pliki obiektowe, a następnie łączone z serwerem MySQL za pomocą inna składnia CREATE FUNCTION
.
Zobacz http://dev.mysql.com/doc/ refman/5.5/pl/dodawanie-udf.html aby uzyskać szczegółowe informacje na temat pisania UDF. Ale nie wiem, czy chcesz zacząć pisać kod w C/C++, aby to zrobić.
UDF MySQL obsługują zmienną liczbę argumentów. W rzeczywistości wszystkie funkcje UDF domyślnie akceptują dowolną liczbę argumentów i jako programista należy określić, czy liczba i typy danych podanych argumentów są prawidłowe dla Twojej funkcji.
Przetwarzanie argumentów funkcji w UDF jest udokumentowane w http://dev .mysql.com/doc/refman/5.5/en/udf-arguments.html