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

एक MySQL स्टोर्ड प्रोसीजर दूसरे MySQL स्टोर्ड प्रोसीजर को अपने अंदर कैसे कॉल कर सकता है?


यह बिल्कुल संभव है कि एक MySQL स्टोर्ड प्रोसीजर दूसरे MySQL स्टोर्ड प्रोसीजर को अपने अंदर कॉल कर सकता है। इसे दर्शाने के लिए, हम एक उदाहरण ले रहे हैं जिसमें एक स्टोर्ड प्रोसीजर दूसरे स्टोर्ड प्रोसीजर को कॉल करके last_insert_id का पता लगाएगा।

उदाहरण

mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))//
Query OK, 0 rows affected (3.87 sec)

mysql> Create Procedure insert1()
    ->
    BEGIN insert into employee.tbl(name) values ('Ram');
    END//
Query OK, 0 rows affected (0.10 sec)

अब, अगले प्रोसीजर insert2() में हम पहले स्टोर्ड प्रोसीजर यानी insert1() को कॉल करेंगे।

mysql> Create Procedure insert2()
    ->
    BEGIN
    CALL insert1();
    Select last_insert_id();
    END //
Query OK, 0 rows affected (0.11 sec)

mysql> Delimiter ;
mysql> Call insert2();
+------------------+
| last_insert_id() |
+------------------+
| 1                |
+------------------+
1 row in set (0.36 sec)
Query OK, 0 rows affected (0.37 sec)

उपरोक्त परिणाम सेट दर्शाता है कि जब हम insert1() को कॉल करते हैं तो यह employee.tbl नामक टेबल में पहला मान सम्मिलित करता है और जब हम दूसरे स्टोर्ड प्रोसीजर यानी insert2() में last_insert_id() चुनते हैं तो यह आउटपुट 1 देता है।


  1. - MySQL स्टोर्ड प्रोसीजर के अंदर COMMIT ट्रांजैक्शन कैसे करें?

    हम जानते हैं कि START ट्रांजैक्शन ट्रांजैक्शन शुरू करेगा और COMMIT का उपयोग ट्रांजैक्शन शुरू करने के बाद किए गए किसी भी परिवर्तन को बनाने के लिए किया जाता है। निम्न उदाहरण में, हमने COMMIT के साथ START ट्रांजैक्शन वाला एक स्टोर्ड प्रोसीजर बनाया है जो एक नया रिकॉर्ड सम्मिलित करेगा और employee.tbl टे

  1. - MySQL स्टोर्ड प्रोसीजर के अंदर START ट्रांजैक्शन कैसे करें?

    हम जानते हैं कि START ट्रांजैक्शन ट्रांजैक्शन शुरू करेगा और ऑटो-कमिट मोड को ऑफ सेट करेगा। निम्न उदाहरण में, हमने START ट्रांजैक्शन वाला एक स्टोर्ड प्रोसीजर बनाया है जो employee.tbl टेबल में एक नया रिकॉर्ड सम्मिलित करेगा जिसमें निम्न डेटा है: Select * from employee.tbl; +----+---------+ | Id | Name

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

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