Перегрузка хранимых функций MySQL

Когда я пытаюсь создать хранимые функции с одинаковыми именами, но разными подписями:

CREATE FUNCTION `max`(a INT, b INT) RETURNS INT
BEGIN
    IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END

CREATE FUNCTION `max`(a DATE, b DATE) RETURNS DATE
BEGIN
    IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END

MySQL выдает ошибку:

FUNCTION max уже существует

Действительно ли мне нужно давать разные имена функциям типа max_tinyint, max_int, max_date, max_datetime и т.д.? ?

Еще проще было бы создать функцию, принимающую в качестве параметров произвольные типы.

7
задан AndreKR 12 January 2012 в 03:58
поделиться