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

MySQL स्टोर्ड प्रोसीजर और फंक्शन में क्या अंतर है?

स्टोर्ड प्रोसीजर

MySQL में, एक स्टोर्ड प्रोसीजर को CALL स्टेटमेंट की मदद से बुलाया जाता है। एक स्टोर्ड प्रोसीजर एक से अधिक मान (multiple values) वापस कर सकता है।

डिफ़ॉल्ट रूप से, एक स्टोर्ड प्रोसीजर 0 वापस करता है। इसका उपयोग SQL क्वेरी के अंदर नहीं किया जा सकता और यह प्री-कंपाइल (pre-compiled) पर आधारित होता है।

फंक्शन (Function)

एक फंक्शन को SQL स्टेटमेंट के अंदर बुलाया जा सकता है। यह RETURN स्टेटमेंट की मदद से एक मान वापस करता है और केवल एक ही मान (single value) वापस कर सकता है।

एक फंक्शन कोई भी सिंगल मान वापस कर सकता है, जिसमें एक टेबल भी शामिल है। इसका उपयोग SQL क्वेरी के अंदर किया जा सकता है और यह प्री-कंपाइल पर आधारित नहीं होता।

मुख्य अंतर सारांश

  • वापसी मान: प्रोसीजर एकाधिक मान वापस कर सकता है; फंक्शन केवल एक मान।
  • उपयोग: फंक्शन को SELECT/WHERE क्लॉज में इस्तेमाल किया जा सकता है; प्रोसीजर को नहीं।
  • कंपाइलेशन: प्रोसीजर प्री-कंपाइल्ड होता है; फंक्शन रनटाइम पर कंपाइल होता है।
  • लेनदेन नियंत्रण: प्रोसीजर में ट्रांजैक्शन मैनेजमेंट (COMMIT/ROLLBACK) संभव है; फंक्शन में नहीं।
  1. - MySQL में TINYINT(1) और Boolean में क्या अंतर है?

    MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं। प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है CREATE TABLE DemoTable ( isMarried BOOLEAN ); DESC DemoTable; आउटपुट: +-----------+--

  1. - SQL में फ़ंक्शन और प्रोसीजर के बीच अंतर

    SQL फ़ंक्शन बनाम स्टोर्ड प्रोसीजर: मुख्य अंतर SQL में, फ़ंक्शन और प्रोसीजर दोनों पुन: प्रयोज्य कोड ब्लॉक हैं, लेकिन उनके उद्देश्य, क्षमताएं और उपयोग संदर्भों में महत्वपूर्ण अंतर हैं। परिभाषाएं फ़ंक्शन: इनपुट लेता है, गणना करता है, और एक एकल मान लौटाता है। क्वेरी में उपयोग किया जा सकता है। प्रोसीजर

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl