2012-01-12 13 views
5

जब मैं वही नाम हैं, लेकिन विभिन्न हस्ताक्षरों के साथ संग्रहीत फ़ंक्शन बनाने का प्रयास करें:ओवरलोडिंग 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 already exists

मैं वास्तव में अलग नाम देने के लिए है max_tinyint, max_int, max_date, max_datetime इत्यादि जैसे कार्यों के लिए?

यहां तक ​​कि यदि मैं एक ऐसा फ़ंक्शन बना सकता हूं जो पैरामीटर के रूप में मनमानी प्रकार स्वीकार करता है तो भी आसान होगा।

+0

snarky जवाब चाहिए होगा MySQL पहले से ही एक मैक्स समारोह है कि ऐसा करने के लिए GREATEST() कार्य है: तो आप के लिए एक ही रास्ता अलग-अलग नामों

युपीडी साथ कार्यों बनाने के लिए है। ... –

+0

अंततः यह करता है !? कब से? (आप का मतलब कुल कार्य नहीं है, क्या आप? यह एक पूरी तरह से अलग बात है।) – AndreKR

+0

ठीक है, मेरा मतलब कुल कार्य है, लेकिन इसका सबसे बड़ा कार्य –

उत्तर

12

mysql फ़ंक्शन ओवरलोडिंग का समर्थन नहीं करता है। और, हाँ, mysql क्या आप

+0

ओएमजी, मैं वर्षों से MySQL का उपयोग कर रहा हूं। यह मेरे दिमाग को इतने लंबे समय से कैसे बचा सकता है? धन्यवाद धन्यवाद धन्यवाद। – AndreKR

संबंधित मुद्दे