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

स्टोर्ड प्रोसीजर और फंक्शन्स के अंदर होने वाली क्रियाएं कैसे रेप्लिकेट होती हैं?


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

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

उदाहरण

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

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

mysql> Delimiter ;
mysql> CALL myproc();

  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 में प्रोसीजर के अंदर वेरिएबल कैसे घोषित करें?

    परिचय MySQL स्टोर्ड प्रोसीजर में DECLARE स्टेटमेंट का उपयोग करके स्थानीय वेरिएबल घोषित किए जाते हैं। वेरिएबल घोषणा प्रोसीजर बॉडी के शुरुआत में होनी चाहिए (किसी अन्य स्टेटमेंट से पहले)। स्टोर्ड प्रोसीजर बनाना DELIMITER ; घटक व्याख्या: DELIMITER // - डिलीमीटर बदलें ताकि ; प्रोसीजर के अंदर उपयोग हो

  1. - MySQL स्टोर्ड प्रोसीजर में डिलीमीटर का सही उपयोग और मान डालना

    समस्या स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है। समाधान DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें। उदाहरण टेबल बनाएं: ); स्टोर्ड प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_name(Chris, Brown); परिणाम +------------------+---