एक SQL ट्रिगर एक घटना है जो कई अन्य घटनाओं को बंद कर देती है जब कोई उपयोगकर्ता किसी विशेष टेबल के साथ इंटरैक्ट करता है। यह विशेष SQL स्टेटमेंट फॉर्म डेटा को मान्य करने, या नियमों को लागू करने में मदद करता है।
ट्रिगर निम्नलिखित घटनाओं से पहले या बाद में निष्पादित होता है:
- INSERT - जब एक नई पंक्ति डाली जाती है।
- UPDATE - जब मौजूदा पंक्ति अपडेट की जाती है।
- DELETE - जब एक पंक्ति हटाई जाती है।
कौन सा ट्रिगर बंद होता है और क्या होता है यह इस बात पर निर्भर करता है कि यह कैसे लिखा गया है। आइए CREATE स्टेटमेंट बनाकर शुरू करें:
CREATE TRIGGER[BEFORE|AFTER] [INSERT|UPDATE|DELETE] ON [FOR EACH ROW|FOR EACH STATEMENT] BEGIN END;
<> के किसी भी सेट के बीच, अपने कस्टम नाम या लॉजिक से बदलें। [] के अंदर, दिए गए उपलब्ध विकल्पों में से एक चुनें।
BEFORE/AFTER और INSERT|UPDATE|DELETE: प्रत्येक सूची से एक चुनें। BEFORE/AFTER निर्धारित करेगा कि ट्रिगर कब होता है। INSERT/UPDATE/DELETE वह घटना है जो ट्रिगर शुरू करेगी।
FOR EACH ROW|FOR EACH STATEMENT: यहां दो विकल्पों के बीच का अंतर यह है कि ट्रिगर कितनी बार चलता है। FOR EACH ROW टेबल में प्रभावित प्रत्येक पंक्ति पर ट्रिगर होता है। FOR EACH STATEMENT कम से कम एक बार चलने की गारंटी है, चाहे कोई पंक्ति अपडेट हो या नहीं।
डेटाबेस या टेबल के समान, DROP TRIGGER विकल्प है:
DROP TRIGGER [IF EXISTS] trigger_name;
IF EXISTS सिंटैक्स का एक वैकल्पिक हिस्सा है। यदि स्टेटमेंट ब्लॉक में शामिल किया जाता है, तो यह भाग "ट्रिगर मौजूद नहीं है" त्रुटि को रोकता है। एक हटाई गई टेबल स्वचालित रूप से सभी संबंधित ट्रिगर्स को भी हटा देती है।
जान लें कि SQL ट्रिगर के लिए तीन मुख्य चीजें आवश्यक हैं: एक CREATE स्टेटमेंट जो ट्रिगर को उसका नाम देता है और घटना कब होती है, ट्रिगर कितनी बार होता है, और फिर एक BEGIN/END ब्लॉक जो वास्तविक ट्रिगर के लिए लॉजिक निर्धारित करता है।
अगर आप पहली बार में नहीं समझते हैं तो अभ्यास करते रहें - क्योंकि यह SQL में एक उन्नत अवधारणा है, इसे SQL में अन्य विषयों और फंक्शन की तुलना में अधिक दोहराव की आवश्यकता होगी।