MySQL में MySQL - mysql, डेटाबेस, mysql-workbench में ईवेंट के साथ काम करना

मेरे पास एक संग्रहीत प्रक्रिया है जो मूल रूप से एक तालिका से डेटा का चयन करती है और दूसरी तालिका में डालती है। असल में मैं डेटा संग्रह मैन्युअल रूप से कर रहा हूँ। अब, मैं चर्चा की तरह एक घटना लिखना चाहता हूँ यहाँ

हालांकि, उस पोस्ट को पढ़ने और ऑनलाइन शोध करने के बाद, मुझे पता चला कि संग्रहीत प्रक्रिया के अंदर कोई ईवेंट बनाना संभव नहीं है। क्या MySQLWorkbench में अपना लक्ष्य पूरा करने का कोई तरीका है?

उत्तर:

उत्तर № 1 के लिए 4

मेरा मानना ​​है कि आप इसे विपरीत दिशा में सोच रहे हैं: आप एक संग्रहित प्रक्रिया में कोई ईवेंट नहीं बना सकते हैं, लेकिन आप कर सकते हैं एक संग्रहीत प्रक्रिया बनाएं और इसे किसी ईवेंट से कॉल करें।

उदाहरण:

delimiter $$
create procedure myProc()
-- Dummy procedure to move the data from mainTable to backupTable,
-- and then clear (truncate) mainTable
begin
insert into backupTable select * from mainTable;
truncate mainTable;
end $$
delimiter ;

-- Now, suposing that you want to execute this procedure every hour:
delimiter $$
create event myEvent
on schedule every 1 hour
do
begin
call myProc();
end $$
delimiter ;

आप इसे वर्कबेंच में या सीधे कमांड लाइन क्लाइंट में किसी भी अन्य क्वेरी के रूप में लिख सकते हैं।


आपकी चिंता के बारे में

आपकी टिप्पणी पढ़ने के बाद, मुझे विश्वास है कि आप MySQL वर्कबेंच के बारे में थोड़ा उलझन में हैं।

MySQL वर्कबेंच केवल एक ग्राफिकल एप्लिकेशन है जो आपको एक MySQL सर्वर से कनेक्ट करने और क्वेरी और व्यवस्थापन कार्यों को करने की अनुमति देता है। लेकिन वर्कबेंच नहीं है MySQL का मूल ... यह केवल एक दर्शक है (स्टेरॉयड के साथ, शायद, लेकिन सभी के बाद दर्शक)।

अब, घटना शेड्यूलर में नहीं रहता हैवर्कबेंच, लेकिन MySQL सर्वर इंस्टेंस में आप कनेक्ट कर रहे हैं। जैसे ही टेबल, विचार, प्रक्रियाएं और फ़ंक्शन वर्कबेंच इंटरफ़ेस में संग्रहीत नहीं होते हैं, लेकिन सर्वर में, ईवेंट सर्वर में भी संग्रहीत होते हैं।

(हाँ, मुझे विश्वास है कि यह एक प्रासंगिक एसएनएफ़ूयू है किनिर्धारित कार्यक्रम ग्राफिकल इंटरफ़ेस में कहीं भी नहीं दिखाते हैं, लेकिन ... थोड़ी देर बाद, कोई उस तरह की निराशा के साथ जीने और जीवन के साथ आगे बढ़ने के लिए सीखता है)

शायद आपकी एकमात्र चिंता है:"अरे, और क्या होगा यदि मैं जानना चाहता हूं कि ईवेंट शेड्यूलर में कौन सी घटनाएं चल रही हैं?" वर्तमान डेटाबेस में ईवेंट की सूची दिखाने के लिए आप "ईवेंट शो" क्वेरी निष्पादित कर सकते हैं, और आप "शो इवेंट इवेंट" दिखाने के लिए निष्पादित कर सकते हैं create event उस घटना के लिए वाक्यविन्यास।

मैं जोर देता हूं: मैन्युअल पढ़ें, और एक प्रतिलिपि हाथ में रखें (अपने MySQL संस्करण के लिए मैनुअल डाउनलोड करें यहाँ)।


संबंधित सवाल
सबसे लोकप्रिय