ट्रिगर बनाम कर्सर
डेटाबेस में, ट्रिगर एक प्रक्रिया (कोड सेगमेंट) है जो किसी तालिका/दृश्य में कुछ विशिष्ट घटनाओं के होने पर स्वचालित रूप से निष्पादित होती है। इसके अन्य उपयोगों में, ट्रिगर्स का उपयोग मुख्य रूप से डेटाबेस में अखंडता बनाए रखने के लिए किया जाता है। एक कर्सर एक नियंत्रण संरचना है जिसका उपयोग डेटाबेस में डेटाबेस रिकॉर्ड के माध्यम से जाने के लिए किया जाता है। यह कई प्रोग्रामिंग भाषाओं द्वारा प्रदान किए गए इटरेटर के समान है।
ट्रिगर क्या हैं?
एक ट्रिगर एक प्रक्रिया (कोड खंड) है जो किसी डेटाबेस की तालिका/दृश्य में कुछ विशिष्ट घटनाओं के होने पर स्वचालित रूप से निष्पादित होती है। इसके अन्य उपयोगों में, ट्रिगर्स का उपयोग मुख्य रूप से डेटाबेस में अखंडता बनाए रखने के लिए किया जाता है।ट्रिगर का उपयोग व्यावसायिक नियमों को लागू करने, डेटाबेस में परिवर्तनों का ऑडिट करने और डेटा की नकल करने के लिए भी किया जाता है। सबसे आम ट्रिगर डेटा मैनिपुलेशन लैंग्वेज (डीएमएल) ट्रिगर हैं जो डेटा में हेरफेर होने पर ट्रिगर होते हैं। कुछ डेटाबेस सिस्टम गैर-डेटा ट्रिगर का समर्थन करते हैं, जो डेटा डेफिनिशन लैंग्वेज (डीडीएल) ईवेंट होने पर ट्रिगर होते हैं। कुछ उदाहरण ट्रिगर होते हैं जिन्हें टेबल बनाते समय, कमिट या रोलबैक ऑपरेशन आदि के दौरान निकाल दिया जाता है। इन ट्रिगर्स का उपयोग विशेष रूप से ऑडिटिंग के लिए किया जा सकता है। Oracle डेटाबेस सिस्टम स्कीमा स्तर ट्रिगर का समर्थन करता है (अर्थात डेटाबेस स्कीमा संशोधित होने पर ट्रिगर ट्रिगर) जैसे कि निर्माण के बाद, परिवर्तन से पहले, परिवर्तन के बाद, ड्रॉप से पहले, ड्रॉप के बाद, आदि। Oracle द्वारा समर्थित चार मुख्य प्रकार के ट्रिगर पंक्ति स्तर ट्रिगर हैं, कॉलम स्तर ट्रिगर, प्रत्येक पंक्ति प्रकार ट्रिगर और प्रत्येक कथन प्रकार ट्रिगर के लिए।
कर्सर क्या होते हैं?
एक कर्सर एक नियंत्रण संरचना है जिसका उपयोग डेटाबेस रिकॉर्ड के माध्यम से जाने के लिए डेटाबेस में किया जाता है।यह कई प्रोग्रामिंग भाषाओं द्वारा प्रदान किए गए इटरेटर के समान है। डेटाबेस में रिकॉर्ड के माध्यम से ट्रैवर्स करने के अलावा, कर्सर डेटा पुनर्प्राप्ति, रिकॉर्ड जोड़ने और हटाने की सुविधा भी प्रदान करते हैं। सही तरीके से परिभाषित करके, कर्सर को पीछे की ओर जाने के लिए भी इस्तेमाल किया जा सकता है। जब कोई SQL क्वेरी पंक्तियों का एक सेट लौटाती है, तो उन्हें वास्तव में कर्सर का उपयोग करके संसाधित किया जाता है। एक कर्सर का उपयोग करने से पहले उसे घोषित करने और एक नाम निर्दिष्ट करने की आवश्यकता होती है। फिर OPEN कमांड का उपयोग करके कर्सर को खोलना होगा। यह ऑपरेशन रिकॉर्ड के परिणाम सेट की पहली पंक्ति के ठीक पहले कर्सर को रखेगा। फिर कर्सर को वास्तव में एप्लिकेशन में डेटा की एक पंक्ति प्राप्त करने के लिए FETCH ऑपरेशन करना होता है। अंत में, CLOSE ऑपरेशन का उपयोग करके कर्सर को बंद करना होगा। बंद कर्सर फिर से खोले जा सकते हैं।
ट्रिगर और कर्सर में क्या अंतर है?
एक ट्रिगर एक प्रक्रिया (कोड सेगमेंट) है जो किसी डेटाबेस की तालिका/दृश्य में कुछ विशिष्ट घटनाओं के होने पर स्वचालित रूप से निष्पादित होती है, जबकि एक कर्सर एक नियंत्रण संरचना है जिसका उपयोग डेटाबेस रिकॉर्ड के माध्यम से जाने के लिए डेटाबेस में किया जाता है।एक कर्सर को ट्रिगर के भीतर घोषित और उपयोग किया जा सकता है। ऐसे में डिक्लेयर स्टेटमेंट ट्रिगर के अंदर होगा। तब कर्सर का दायरा उस ट्रिगर तक सीमित हो जाएगा। एक ट्रिगर के भीतर, यदि किसी सम्मिलित या हटाई गई तालिका पर कर्सर घोषित किया जाता है, तो ऐसा कर्सर नेस्टेड ट्रिगर से एक्सेस नहीं किया जा सकेगा। एक बार एक ट्रिगर पूरा हो जाने के बाद, ट्रिगर के भीतर बनाए गए सभी कर्सर डी-आवंटित हो जाएंगे।