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

SQL ट्रिगर्स: एक परिचय

एक 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 में अन्य विषयों और फंक्शन की तुलना में अधिक दोहराव की आवश्यकता होगी।

  1. - MS SQL Server क्या है?

    SQL Server क्या है? Microsoft द्वारा विकसित सॉफ़्टवेयर जो RDBMS पर आधारित है। यह एक ORDBMS (Object Relational Database Management System) भी है। एक स्वतंत्र प्लेटफ़ॉर्म। सॉफ़्टवेयर कमांड लाइन इंटरफेस और GUI इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - स्ट्रक्चर्ड इंग्लिश क्वे

  1. Oracle 19c SQL क्वारंटाइन के साथ रनअवे क्वेरी को रोकें Oracle 19c SQL क्वारंटाइन के साथ रनअवे क्वेरी को रोकें

    यह ब्लॉग पोस्ट SQL क्वारंटाइन की अवधारणा का परिचय देता है। Oracle® रिसोर्स मैनेजर का उपयोग करके, आप CPU और I/O जैसे संसाधनों के उपयोग को नियंत्रित और सीमित कर सकते हैं। सबसे दिलचस्प तथ्य यह है कि आप किसी भी लंबे समय तक चलने वाले क्वेरी के निष्पादन को रोक सकते हैं जो एक परिभाषित सीमा से अधिक हो जाती

  1. - रेल्स में .each के साथ खाली संग्रह को संभालना

    मुझे each पसंद है, लेकिन मुझे इससे एक समस्या है। जब आपके पास एक खाली संग्रह होता है तो क्या होता है? यदि आप [].each कॉल करते हैं, तो कुछ नहीं होगा और [] वापस कर दिया जाएगा। कभी-कभी, यह वही है जो आप चाहते हैं। लेकिन अधिक बार, खासकर जब आप UI बना रहे होते हैं, तो आप खाली सूचियों को एक विशेष तरीके से स