दृश्य और संग्रहीत प्रक्रिया के बीच का अंतर

Anonim

देखें बनाम संग्रहीत प्रक्रिया

दृश्य व्यूनाम

के रूप में

select_statement बनाने या बदलने से डेटा एकत्रित करता है;

एक संग्रहीत कार्यविधि एक पूर्व संकलित एसक्यूएल कमांड सेट है, जिसे डेटाबेस सर्वर में संग्रहीत किया जाता है। प्रत्येक संग्रहीत कार्यविधि में एक कॉलिंग नाम होता है, जिसका उपयोग उन्हें अन्य संकुल, प्रक्रियाओं और कार्यों के अंतर्गत करने के लिए किया जाता है। यह एक संचित कार्यविधि बनाने के लिए वाक्यविन्यास (ओरेकल में) है, प्रक्रिया प्रक्रिया नाम (पैरामीटर) बनाने या बदलने के लिए

है

आरंभ

-2 ->

बयान;

अपवाद

exception_handling

अंत;

देखें

एक दृश्य वर्चुअल तालिका के रूप में कार्य करता है यह अपने शरीर के अंदर एक चुनिंदा बयान छुपाता है। यह चयन बयान बहुत जटिल हो सकता है, जो कई तालिकाओं और दृश्यों से डेटा लेता है। इसलिए, दूसरे शब्दों में, एक दृश्य एक नामित बयान है, जो डेटाबेस में संग्रहीत है। अंत उपयोगकर्ताओं के टेबल संबंधों के पीछे तर्क को छिपाने के लिए एक दृश्य का उपयोग किया जा सकता है चूंकि एक दृश्य एक संग्रहीत क्वेरी का परिणाम है, इसलिए यह किसी भी डेटा को नहीं रखता है। यह आधार तालिकाओं और शो से डेटा एकत्र करता है दृश्यों को भी डेटा की सुरक्षा में एक महत्वपूर्ण भूमिका निभानी है। जब टेबल के मालिक को उपयोगकर्ताओं को समाप्त करने के लिए डेटा का केवल एक सेट दिखाने की आवश्यकता होती है, तो दृश्य बनाना एक अच्छा समाधान है दृश्यों को दो श्रेणियों में विभाजित किया जा सकता है

  • अपडेटेबल दृश्य (उन दृश्यों को INSERT, UPDATE और DELETE के लिए उपयोग किया जा सकता है)
  • गैर-अपडेट करने योग्य दृश्य (उन दृश्यों को INSERT, UPDATE और DELETE के लिए उपयोग नहीं किया जा सकता है)

अपडेट करने योग्य दृश्य

ऑपरेटर सेट करें (इंटरसेक्ट, मिनस, यूनियन, यूनियन ऑल)

DISTINCT

समूह समग्र कार्य (औसत, संख्या, अधिकतम, न्यूनतम, एसएम, आदि)

ग्रुप द्वारा खंड आदेश द्वारा धारा

खंड के साथ संपर्क करें

स्टालों के साथ प्रारंभ करें

चयन सूची में संग्रह अभिव्यक्ति

एक चयन सूची में उप प्रश्न

प्रश्न पूछें

संग्रहित प्रक्रिया

संग्रहित प्रक्रियाएं प्रोग्रामिंग ब्लॉक नामित उनके पास कॉल करने के लिए एक नाम होना चाहिए संग्रहित प्रक्रियाएं प्रक्रिया के पीछे तर्क के अनुसार उपयोगकर्ता इनपुट और प्रक्रिया को पैरामीटर मानती हैं और परिणाम देते हैं (या कोई विशिष्ट कार्य करते हैं)। वेरिएबल डिस्क्रिप्शन, वेरिएबल असाइनमेंट, कंट्रोल स्टेटमेंट, लूप्स, एसक्यूएल प्रश्नों और अन्य फ़ंक्शन / प्रोसेस / पैकेज कॉल्स प्रक्रिया के शरीर के अंदर हो सकते हैं।

देखें और संग्रहीत प्रक्रिया के बीच अंतर क्या है? हमें इन दोनों के बीच के मतभेदों को देखते हैं।

• दृश्य आभासी तालिकाओं के रूप में कार्य करते हैं वे एसक्यूएल प्रश्नों (चयन) के नजदीक से सीधे उपयोग किए जा सकते हैं, लेकिन प्रश्नों के करीब से प्रक्रियाओं का उपयोग नहीं किया जा सकता है

• दृश्यों के पास उनके शरीर के रूप में केवल एक कथन है, लेकिन प्रक्रियाओं में वेरिएबल डिस्क्रिप्शन, वैरिएबल असाइनमेंट, कंट्रोल स्टेटमेंट, लूप्स, एसक्यूएल प्रश्नों और अन्य फ़ंक्शन / प्रोसेस / पैकेज कॉल्स के शरीर के रूप में हो सकते हैं।

• प्रक्रिया निष्पादित करने के लिए पैरामीटर स्वीकार करती है, लेकिन विचारों को निष्पादित करने के लिए पैरामीटर नहीं चाहिए।

• रिकार्ड प्रकार को% ROWTYPE का प्रयोग करते हुए विचारों से बनाया जा सकता है, लेकिन प्रक्रियाओं का उपयोग करके रिकॉर्ड प्रकार बनाया नहीं जा सकता।

• निष्पादन योजना का अनुकूलन करने के लिए एसक्यूएल संकेतों का उपयोग दृश्य चयन कथन के अंदर किया जा सकता है, लेकिन संग्रहीत कार्यविधियों में एसक्यूएल संकेतों का इस्तेमाल नहीं किया जा सकता है।

• डिलीटे, इन्सार्ट, अपडेट, सेलेक्ट, फ्लैबैक, और डेब्यूग को विचारों पर प्रदान किया जा सकता है, लेकिन प्रक्रियाओं पर केवल एक्जिक्यूट और डेबग प्रदान किया जा सकता है।