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

MySQL प्रोसीजर: SELECT स्टेटमेंट को दो बार प्रदर्शित करना

परिचय

MySQL स्टोर्ड प्रोसीजर में एकाधिक SELECT स्टेटमेंट हो सकते हैं, और प्रत्येक अपना अलग परिणाम सेट लौटाता है। यह लेख दिखाता है कि कैसे एक प्रोसीजर में दो SELECT स्टेटमेंट बनाएं और कॉल करें।

स्टोर्ड प्रोसीजर बनाना

mysql> DELIMITER //
mysql> CREATE PROCEDURE select_statement()
    -> BEGIN
    ->   SELECT "HI" AS `FIRST VALUE`;
    ->   SELECT "HELLO" AS `SECOND VALUE`;
    -> END
    -> //
Query OK, 0 rows affected (0.09 sec)
mysql> DELIMITER ;

महत्वपूर्ण बिंदु:

  • DELIMITER // - स्टेटमेंट डिलीमीटर को अस्थायी रूप से // में बदलता है ताकि प्रोसीजर बॉडी में ; का उपयोग हो सके
  • DELIMITER ; - अंत में डिलीमीटर को वापस ; पर सेट करता है
  • बैकटिक्स (`) कॉलम एलियास के लिए उपयोग किए गए हैं

प्रोसीजर कॉल करना

mysql> CALL select_statement();

परिणाम

+-------------+
| FIRST VALUE |
+-------------+
| HI          |
+-------------+
1 row in set (0.00 sec)

+--------------+
| SECOND VALUE |
+--------------+
| HELLO        |
+--------------+
1 row in set (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

व्याख्या

  • प्रत्येक SELECT अपना अलग परिणाम सेट उत्पन्न करता है
  • क्लाइंट एप्लिकेशन को एकाधिक परिणाम सेट्स को संभालने में सक्षम होना चाहिए
  • JDBC में: statement.execute() और getMoreResults() उपयोग करें
  • MySQL CLI में: स्वचालित रूप से सभी परिणाम सेट दिखाता है

उपयोग के मामले

  • एक ही कॉल में संबंधित लेकिन अलग परिणाम सेट लौटाना
  • रिपोर्टिंग: सारांश + विवरण
  • मेटाडेटा + डेटा

नोट

कुछ कनेक्टर/ड्राइवर डिफ़ॉल्ट रूप से केवल पहला परिणाम सेट लौटाते हैं। एकाधिक परिणाम सेट्स के लिए कनेक्शन विकल्प या API विधि सक्षम करने की आवश्यकता हो सकती है (जैसे JDBC में allowMultiResults=true)।

  1. - MySQL में SELECT स्टेटमेंट के अंदर CASE स्टेटमेंट का उपयोग कैसे करें?

    MySQL में CASE WHEN का उपयोग करके सशर्त तर्क MySQL में CASE WHEN अभिव्यक्ति आपको SQL क्वेरीज़ के अंदर सशर्त तर्क (if-else तर्क) लागू करने की अनुमति देती है। यह SELECT, WHERE, ORDER BY, GROUP BY आदि में उपयोग किया जा सकता है। टेबल बनाना ); Query OK, 0 rows affected (0.63 sec) डेटा डालना INSERT IN

  1. - MySQL में UPDATE के साथ सबक्वेरी (SELECT) का उपयोग कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में सबक्वेरी का उपयोग करके अन्य तालिका या शर्त के आधार पर पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE column IN (SELECT ... FROM ...); उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(2

  1. - MySQL में स्टोर्ड प्रोसीजर से टेबल रिकॉर्ड कैसे प्रदर्शित करें?

    MySQL में स्टोर्ड प्रोसीजर के अंदर SELECT स्टेटमेंट रखकर टेबल रिकॉर्ड्स प्रदर्शित कर सकते हैं। यह एनकैप्सुलेशन, पुन: उपयोग, और सुरक्षा (टेबल पर सीधे SELECT अधिकार दिए बिना डेटा एक्सेस) के लिए उपयोगी है। उदाहरण: सभी रिकॉर्ड प्रदर्शित करने वाला प्रोसीजर डेमो टेबल बनाएं: mysql> CREATE TABLE DemoT