Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL फ़ंक्शंस और प्रक्रियाओं के बीच सबसे महत्वपूर्ण अंतर क्या हैं?


प्रक्रियाओं और कार्यों के बीच सबसे महत्वपूर्ण अंतर यह है कि उन्हें अलग-अलग और अलग-अलग उद्देश्यों के लिए लागू किया जाता है। इसके अलावा प्रक्रिया और कार्यों के बीच अंतर निम्नलिखित हैं -

  • एक प्रक्रिया एक मूल्य वापस नहीं करती है। इसके बजाय, एक तालिका को संशोधित करने या पुनर्प्राप्त रिकॉर्ड को संसाधित करने जैसे ऑपरेशन करने के लिए इसे कॉल स्टेटमेंट के साथ बुलाया जाता है।

    दूसरी ओर, एक फ़ंक्शन को एक अभिव्यक्ति के भीतर बुलाया जाता है और एक एकल मान सीधे कॉलर को अभिव्यक्ति में उपयोग करने के लिए देता है। अर्थात्, एक फ़ंक्शन का उपयोग अभिव्यक्तियों में उसी तरह किया जाता है जैसे एक स्थिरांक, एक अंतर्निहित फ़ंक्शन, या किसी तालिका स्तंभ का संदर्भ।

  • हम कॉल स्टेटमेंट के साथ किसी फंक्शन को इनवाइट नहीं कर सकते हैं। हम एक व्यंजक में एक प्रक्रिया का आह्वान नहीं कर सकते हैं।

  • नियमित निर्माण के लिए वाक्य रचना कुछ हद तक प्रक्रियाओं और कार्यों से अलग है -

CREATE
   [DEFINER = { user | CURRENT_USER }]
   PROCEDURE sp_name ([proc_parameter[,...]])
   [characteristic ...] routine_body

CREATE
   [DEFINER = { user | CURRENT_USER }]
   FUNCTION sp_name ([func_parameter[,...]])
   RETURNS type
   [characteristic ...] routine_body

proc_parameter:
   [ IN | OUT | INOUT ] param_name type

func_parameter:
   param_name type

type:
   Any valid MySQL data type

characteristic:
   COMMENT 'string'
   | LANGUAGE SQL
   | [NOT] DETERMINISTIC
   | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
   | SQL SECURITY { DEFINER | INVOKER }

routine_body:
   Valid SQL routine statement
  • प्रक्रिया मापदंडों को केवल-इनपुट, केवल-आउटपुट, या इनपुट और आउटपुट दोनों के लिए परिभाषित किया जा सकता है। इसका मतलब यह है कि एक प्रक्रिया आउटपुट पैरामीटर का उपयोग करके कॉलर को मान वापस भेज सकती है। इन मानों को उन बयानों में एक्सेस किया जा सकता है जो कॉल स्टेटमेंट का पालन करते हैं।

    दूसरी ओर, फ़ंक्शंस में केवल इनपुट पैरामीटर होते हैं। नतीजतन, हालांकि दोनों प्रक्रियाओं और कार्यों में पैरामीटर हो सकते हैं, प्रक्रिया पैरामीटर घोषणा वाक्यविन्यास कार्यों के लिए इससे अलग है।

  • फ़ंक्शन एक मान लौटाते हैं, इसलिए फ़ंक्शन परिभाषा में रिटर्न मान के डेटा प्रकार को इंगित करने के लिए एक रिटर्न क्लॉज होना चाहिए। साथ ही, कॉलर को मान वापस करने के लिए फ़ंक्शन बॉडी के भीतर कम से कम एक रिटर्न स्टेटमेंट होना चाहिए।

    दूसरी ओर, रिटर्न और रिटर्न प्रक्रिया परिभाषाओं में प्रकट नहीं होते हैं।


  1. MySQL में BLOB और TEXT डेटाटाइप के बीच क्या अंतर हैं?

    BLOB का मतलब बाइनरी लार्ज ऑब्जेक्ट्स है और जैसा कि इसके नाम से पता चलता है, इसका उपयोग बाइनरी डेटा को स्टोर करने के लिए किया जा सकता है जबकि टेक्स्ट का उपयोग बड़ी संख्या में स्ट्रिंग्स को स्टोर करने के लिए किया जाता है। बीएलओबी का उपयोग बाइनरी डेटा को स्टोर करने के लिए किया जा सकता है जिसका अर्थ है

  1. वाई-फाई 6 और 5जी नेटवर्क में क्या अंतर है?

    5G नेटवर्क एक ऐसा विषय है जिसके बारे में बात करने के लिए बहुत कुछ दिया गया है और इसका कार्यान्वयन सामाजिक नेटवर्क में मौजूद बातचीत का विषय है। वाई-फाई 6 के आसपास मौजूद उम्मीदों की तरह, जो एक अलग तकनीक है। वाई-फ़ाई 6 और 5G नेटवर्क के बीच अंतर की पहचान करना सीखें । वाईफाई 6 क्या है? वाई-फ़ाई 6 और कुछ

  1. Windows 10 और Windows 11 में क्या अंतर हैं?

    Microsoft ने नवीनतम विंडोज़ 11 को कई नई सुविधाओं और सुधारों के साथ जारी किया है। और बहुत सारे पैच और अपडेट के साथ, विंडोज 10 अब नई विंडोज 11 की तुलना में अधिक स्थिर ओएस है। कंपनी के अनुसार, यह 2025 के बाद विंडोज 10 पर अपना समर्थन बंद कर देगी, इसलिए हमारे पास विंडोज 11 में अपग्रेड करने का फैसला करने