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

MySQL में स्टोर्ड प्रोसीजर को SELECT स्टेटमेंट से कैसे कॉल करें?


CALL कमांड का उपयोग करें, FROM क्लॉज में नहीं

MySQL में स्टोर्ड प्रोसीजर को SELECT ... FROM procedure() सिंटैक्स से कॉल नहीं कर सकते। इसके बजाय CALL कमांड उपयोग करें, फिर अलग से SELECT चलाएं।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable2 (
    -> CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> CustomerName VARCHAR(100),
    -> ShippingDateTime DATETIME
    -> );

इन्सर्ट करने वाला प्रोसीजर बनाएं

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_information(Name VARCHAR(100), shippingtime DATETIME)
    -> BEGIN
    ->     INSERT INTO DemoTable2(CustomerName, ShippingDateTime) VALUES(Name, shippingtime);
    -> END //
mysql> DELIMITER ;

प्रोसीजर कॉल करें

mysql> CALL insert_information('Chris', NOW());

आउटपुट: Query OK, 1 row affected, 1 warning (0.15 sec)

फिर डेटा चुनें

mysql> SELECT * FROM DemoTable2;

परिणाम:

+------------+--------------+---------------------+
| CustomerId | CustomerName | ShippingDateTime    |
+------------+--------------+---------------------+
| 1          | Chris        | 2019-04-08 15:03:07 |
+------------+--------------+---------------------+

महत्वपूर्ण अंतर

फंक्शन (FUNCTION)प्रोसीजर (PROCEDURE)
SELECT my_func() से कॉलCALL my_proc() से कॉल
मान लौटाता है (RETURN)OUT पैरामीटर या परिणाम सेट
SELECT में उपयोग संभवSELECT में सीधे उपयोग नहीं

यदि प्रोसीजर परिणाम सेट लौटाता है:

CALL my_procedure();  -- परिणाम सेट दिखेगा
-- या एप्लिकेशन कोड में multiple result sets हैंडल करें

नोट: MySQL 8.0+ में CALL के बाद SELECT बिना सेमीकॉलन के भी चल सकता है यदि मल्टीपल स्टेटमेंट इनेबल हो।

  1. - MySQL में स्टोर्ड प्रोसीजर और सेलेक्ट में IF का उपयोग कैसे करें?

    आप स्टोर्ड प्रोसीजर में IF और सेलेक्ट स्टेटमेंट में IF() का उपयोग कर सकते हैं। सेलेक्ट स्टेटमेंट में IF() IF() in select statement mysql> select if(0=0,Hello MySQL,condition is wrong); इससे निम्न आउटपुट प्राप्त होगा: +------------------------------------------------------+ | if(test=test,Hello My

  1. - MySQL में COUNT का उपयोग करके SELECT कैसे करें?

    COUNT के साथ SELECT करने के लिए, एग्रीगेट फ़ंक्शन COUNT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100), Subject VARCHAR(100) ); टेबल में कुछ रिकॉर्ड डालें: INSERT INTO DemoTable(Name, Subject) VALUES(C

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

    परिचय MySQL स्टोर्ड प्रोसीजर में एकाधिक SELECT स्टेटमेंट हो सकते हैं, और प्रत्येक अपना अलग परिणाम सेट लौटाता है। यह लेख दिखाता है कि कैसे एक प्रोसीजर में दो SELECT स्टेटमेंट बनाएं और कॉल करें। स्टोर्ड प्रोसीजर बनाना DELIMITER ; महत्वपूर्ण बिंदु: DELIMITER // - स्टेटमेंट डिलीमीटर को अस्थायी रूप स