Oracle में ट्रिगर को कैसे निष्क्रिय करें

Oracle Mem Trigara Ko Kaise Niskriya Karem



डाटाबेस ट्रिगर्स, या संक्षेप में ट्रिगर्स, संग्रहित प्रक्रियाओं को संदर्भित करता है जो किसी दिए गए डेटाबेस ऑब्जेक्ट के भीतर किसी ईवेंट गतिविधि की प्रतिक्रिया के रूप में निष्पादित होते हैं।

यह मानक संग्रहीत कार्यविधियों से भिन्न है, जिसके लिए उपयोगकर्ता से स्पष्ट आह्वान की आवश्यकता होती है। चूंकि ट्रिगर्स स्वचालित होते हैं, इसलिए निर्दिष्ट उपयोगकर्ता या सर्वर स्थिति की परवाह किए बिना निर्दिष्ट घटना होने पर उन्हें ट्रिगर या निकाल दिया जाता है।







अधिकांश संबंधपरक डेटाबेस स्वचालित कार्यों को करने के लिए ट्रिगर्स का उपयोग करने का समर्थन करते हैं जैसे अमान्य लेनदेन को रोकना, ईवेंट लॉगिंग, टेबल एक्सेस आँकड़े प्राप्त करना और रिकॉर्ड करना, और बहुत कुछ।



एक बार ट्रिगर बन जाने के बाद, जब भी संबंधित घटना होती है तो यह हमेशा चलता रहता है। हालाँकि, आप ट्रिगर को अस्थायी या स्थायी रूप से निष्पादित होने से रोकना चाह सकते हैं। यहीं पर ट्रिगर डिसेबल फीचर काम आता है।



यह पोस्ट Oracle डेटाबेस के भीतर ट्रिगर को अक्षम करने के त्वरित और आसान चरणों के बारे में चर्चा करेगी। यदि आप ओरेकल ट्रिगर्स के लिए नए हैं और जानना चाहते हैं कि कैसे एक बनाना है, तो निम्न लिंक देखें:





https://linuxhint.com/oracle-create-trigger

टेस्ट ट्रिगर बनाना

इससे पहले कि हम किसी ट्रिगर को अक्षम करने के तरीकों पर चर्चा करें, आइए प्रदर्शन उद्देश्यों के लिए एक नमूना ट्रिगर सेट करें।



टिप्पणी : यह खंड डेटाबेस ट्रिगर्स को परिभाषित करने या उपयोग करने के तरीके को कवर नहीं करता है।

हम एक ट्रिगर बनाना चाहते हैं जो डिलीट ऑपरेशन के बाद यूजर एक्टिविटी को लॉग करता है। उदाहरण के लिए, मान लें कि हमारे पास दिखाया गया जानकारी के साथ एक नमूना_डेटा तालिका है:

हमें सबसे पहले एक टेबल बनाने की जरूरत है जहां हम हर विलोपन गतिविधि के लिए लॉग स्टोर करते हैं।

टेबल स्कीमा इस प्रकार है:

तालिका नमूना_डेटा_लॉग बनाएं (
आईडी नंबर,
पहला_नाम वर्कर 2 (50),
ip_address varchar2(20),
btc_address varchar2(50),
क्रेडिट_कार्ड varchar2(50),
पहचानकर्ता varchar2(40),
हटाएं_तारीख तारीख,
varchar2 द्वारा हटा दिया गया (20)
);

इसके बाद, हमें एक ट्रिगर को परिभाषित करने की आवश्यकता है जिसे डिलीट इवेंट के बाद निष्पादित किया जाता है। ट्रिगर परिभाषा इस प्रकार प्रदान की जाती है:

ट्रिगर log_user बनाएं या बदलें
हटाने के बाद
नमूना_डेटा पर
प्रत्येक पंक्ति के लिए
घोषित
action_username varchar2(20);
शुरू
उपयोगकर्ता को दोहरे से क्रिया_उपयोगकर्ता नाम में चुनें;
नमूना_डेटा_लॉग में डालें
मान (:OLD.id,
:OLD.first_name,
:OLD.ip_address,
:OLD.btc_address,
:OLD.credit_card,
:OLD.पहचानकर्ता,
सिसडेट,
क्रिया_उपयोगकर्ता नाम);
अंत;

ट्रिगर का परीक्षण करने के लिए, आइए दिखाए गए अनुसार नमूना_डेटा तालिका से एक डिलीट ऑपरेशन करें:

नमूना_डेटा से हटाएं जहां आईडी = 1;

अंत में, हम यह सुनिश्चित करने के लिए लॉग टेबल की जांच कर सकते हैं कि डिलीट ऑपरेशन रिकॉर्ड किया गया है:

नमूना_डेटा_लॉग से * चुनें;

आउटपुट:

जैसा कि हम देख सकते हैं, तालिका में विलोपन से पहले पिछले डेटा की एक प्रविष्टि है, साथ ही विलोपन गतिविधि करने वाले उपयोगकर्ता नाम और विलोपन का समय भी है।

निम्नलिखित अनुभागों में, हम पिछले ट्रिगर को अक्षम करने के तरीके पर प्रदर्शित करेंगे। ऐसा करने से पहले, सुनिश्चित करें कि आपका लक्ष्य ट्रिगर काम कर रहा है और आपके पास इसे सक्षम या अक्षम करने के लिए पर्याप्त अनुमतियां हैं।

पीएल/एसक्यूएल का उपयोग कर ट्रिगर को अक्षम करें

किसी ट्रिगर को अक्षम करने का पहला और सबसे सरल तरीका SQL कथन का उपयोग करना है। सौभाग्य से, Oracle हमें ALTER TRIGGER स्टेटमेंट प्रदान करता है जिसका सिंटैक्स निम्नानुसार प्रदान किया गया है:

ट्रिगर ट्रिगर_नाम अक्षम करें;

उदाहरण के लिए, हमारे द्वारा पहले बनाए गए log_user ट्रिगर को अक्षम करने के लिए, हम निम्नलिखित चला सकते हैं:

परिवर्तन ट्रिगर log_user अक्षम करें;

एक बार निष्पादित हो जाने के बाद, ट्रिगर पुराने डेटा और हटाए जाने वाले उपयोगकर्ता की कॉपी नहीं रखेगा, जैसा कि नीचे दिखाया गया है:

नमूना डेटा से हटाएं जहां आईडी = 2;

लॉग जांचें:

नमूना_डेटा_लॉग से * चुनें;

आउटपुट:

जैसा कि हम देख सकते हैं, हमारे पास अभी भी केवल एक रिकॉर्ड है।

SQL डेवलपर का उपयोग करके ट्रिगर को अक्षम करें

हम ग्राफ़िकल इंटरफ़ेस में ट्रिगर को अक्षम करने के लिए SQL डेवलपर उपयोगिता का उपयोग कर सकते हैं। SQL डेवलपर में लॉग इन करके प्रारंभ करें।

'ट्रिगर्स' अनुभाग पर नेविगेट करें:

ट्रिगर निर्देशिका का विस्तार करें और उस ट्रिगर का पता लगाएं जिसे आप अक्षम करना चाहते हैं। ट्रिगर नाम पर राइट क्लिक करें और 'अक्षम करें' चुनें।

'अक्षम करें' ऑपरेशन की पुष्टि करें और 'लागू करें' पर क्लिक करें।

एक बार अक्षम होने पर, Oracle ट्रिगर को धूसर कर देता है, यह दर्शाता है कि यह निष्क्रिय है।

निष्कर्ष

इस आलेख ने पीएल/एसक्यूएल स्टेटमेंट और एसक्यूएल डेवलपर उपयोगिता का उपयोग करके ओरेकल ट्रिगर को अक्षम करने का तरीका खोजा।