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

संग्रहीत कार्यविधि और कार्यों के अंदर होने वाली क्रियाओं को कैसे दोहराया जाता है?


वास्तव में संग्रहीत कार्यविधियों और कार्यों में किए गए मानक कार्यों को एक मास्टर MySQL सर्वर से एक गुलाम MySQL सर्वर में दोहराया जाता है। यहां तक ​​​​कि एक मास्टर MySQL सर्वर पर सामान्य DDL स्टेटमेंट के माध्यम से किए गए संग्रहीत कार्यविधियों और कार्यों का निर्माण एक गुलाम MySQL सर्वर पर दोहराया जाता है। इस तरह, ऑब्जेक्ट दोनों सर्वरों पर मौजूद रहेंगे।

संग्रहीत प्रक्रिया और कार्यों के अंदर होने वाली क्रियाओं को दोहराया जाता है क्योंकि MySQL संग्रहीत प्रक्रियाओं और कार्यों के अंदर होने वाली प्रत्येक DDL घटना को रिकॉर्ड करता है। घटनाओं को रिकॉर्ड करने के बाद इसे दास MySQL सर्वर पर दोहराया जाता है। लेकिन संग्रहीत कार्यविधियों को निष्पादित करने के लिए की गई वास्तविक कॉलों को दोहराया नहीं जाता है। निम्नलिखित एक उदाहरण है जिसमें कॉल प्रक्रिया को दोहराया नहीं जाएगा क्योंकि यह वास्तव में मास्टर MySQL सर्वर पर एक है।

उदाहरण

mysql> Delimiter //
mysql> CREATE PROCEDURE myproc()
    -> BEGIN
    -> DELETE FROM mytable LIMIT 1;
    -> END //

अब जब हम इस प्रक्रिया को मास्टर MySQL सर्वर पर कॉल करते हैं तो यह दोहराना नहीं होगा।

mysql> Delimiter ;
mysql> CALL myproc();

  1. संग्रहीत प्रक्रिया में IF का उपयोग कैसे करें और MySQL में चयन करें?

    आप संग्रहित प्रक्रिया में IF का उपयोग कर सकते हैं और IF() का चयन कथन में भी कर सकते हैं। IF() चुनिंदा स्टेटमेंट में सेलेक्ट करें if(0=0,Hello MySQL,condition is गलत); यह निम्नलिखित आउटपुट देगा - +------------------------------------------ --------+| अगर (टेस्ट =टेस्ट, हैलो MySQL, हालत गलत है) |+--

  1. कैसे MySQL में एक प्रक्रिया के अंदर एक चर घोषित करने के लिए?

    आप एक MySQL प्रक्रिया के अंदर एक चर घोषित करने के लिए DECLARE कमांड का उपयोग कर सकते हैं। आइए MySQL में एक संग्रहित प्रक्रिया बनाएं - DELIMITER; ऊपर, हमने एक चर घोषित किया है। अब, कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें - DECLARE_VARIABLE_DEMO(10) पर कॉल करें; यह निम्नलिखित आउटपुट

  1. एक MySQL संग्रहीत प्रक्रिया में डिलीमीटर का सही ढंग से उपयोग कैसे करें और मान डालें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.87 सेकंड) यहाँ एक संग्रहीत कार्यविधि बनाने और मान सम्मिलित करने के लिए क्वेरी है (सही ढंग से सीमांकक का उपयोग करके) - सीमांकक; कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें - कॉल इन्सर्ट_नाम (क्रिस, ब्राउन); क्वेरी ओके,