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

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


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

mysql> Select * from employee.tbl;
+----+---------+
| Id | Name    |
+----+---------+
|  1 | Mohan   |
|  2 | Gaurav  |
|  3 | Rahul   |
|  4 | Saurabh |
+----+---------+
4 rows in set (0.00 sec)

उदाहरण

mysql> Delimiter //
mysql> Create Procedure st_transaction_commit()
    ->
    BEGIN
    START TRANSACTION;
    INSERT INTO employee.tbl(name) values ('Yash');
    UPDATE employee.tbl set name = 'Sohan' WHERE id = 3;
    COMMIT;
    END //
Query OK, 0 rows affected (0.03 sec)

अब जब हम इस प्रोसीजर को इनवोक करते हैं, तो यह employee.tbl टेबल में मान सम्मिलित और अपडेट करेगा। यह परिवर्तनों को भी कमिट करेगा।

mysql> Delimiter ;
mysql> Call st_transaction_commit();
Query OK, 0 rows affected (0.17 sec)

mysql> Select * from employee.tbl;
+----+---------+
| Id | Name    |
+----+---------+
|  1 | Mohan   |
|  2 | Gaurav  |
|  3 | Sohan   |
|  4 | Saurabh |
|  5 | Yash    |
+----+---------+
5 rows in set (0.00 sec)

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

    हम जानते हैं कि ROLLBACK ट्रांजैक्शन शुरू होने के बाद डेटाबेस में किए गए किसी भी परिवर्तन को वापस कर देगा। MySQL स्टोर्ड प्रोसीजर में ROLLBACK करने के लिए हमें EXIT हैंडलर घोषित करना होगा। हम sqlexception या SQL चेतावनियों के लिए हैंडलर का उपयोग कर सकते हैं। इसे उस उदाहरण की मदद से समझा जा सकता है

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

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

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

    यह बिल्कुल संभव है कि एक MySQL स्टोर्ड प्रोसीजर दूसरे MySQL स्टोर्ड प्रोसीजर को अपने अंदर कॉल कर सकता है। इसे दर्शाने के लिए, हम एक उदाहरण ले रहे हैं जिसमें एक स्टोर्ड प्रोसीजर दूसरे स्टोर्ड प्रोसीजर को कॉल करके last_insert_id का पता लगाएगा। उदाहरण BEGIN insert into employee.tbl(name) values (