यह एक दिलचस्प सवाल है, सुनिश्चित करने के लिए। अधिकांश लोग जो ओरेकल विकास से परिचित हैं, वे इसे एक विचार नहीं देंगे, लेकिन जब आप इसके नीचे आते हैं, तो कभी-कभी यह SQL और PL / SQL के बीच सीमांकन को परिभाषित करने के लिए भ्रमित करता है।
शब्दकोष की परिभाषा को देखकर, आपको यह पता लगाना शुरू हो जाता है कि प्रत्येक कवर के कार्य-क्षेत्र क्या हैं:
एसक्यूएल - संरचित क्वेरी भाषा
PL / SQL - प्रक्रियात्मक भाषा / संरचित क्वेरी भाषा
पर्यवेक्षक पाठक यह देख सकता है कि SQL 8 से दो बार कैसे दिखाता है) ऐसा इसलिए है क्योंकि SQL अक्सर PL / SQL के भीतर एम्बेडेड होता है - PL / SQL एक ऐसी भाषा है जो एक मालिकाना 4th जनरेशन भाषा (4GL) प्रदान करने के लिए बनाई गई थी जो डेटाबेस ऑब्जेक्ट्स के साथ बहुत अच्छा खेलता है आकाशवाणी।
विकिपीडिया में SQL और PL / SQL दोनों पर कुछ बहुत अच्छी सामग्री है
भ्रामक हिस्सा वह जगह है जहां PL / SQL और SQL थोड़ा ओवरलैप करते हैं। SQL के दायरे में डेटा इंसर्ट, क्वेरी, अपडेट और डिलीट, तथाकथित DML या डेटा मैनिप्युलेशन लैंग्वेज ऑपरेशंस शामिल हैं, लेकिन इसमें डीडीएल या डेटा डेफिनिशन लैंग्वेज ऑपरेशंस, क्रिएट, चेंज, रिनेम, ड्रॉप भी शामिल हैं। यहाँ जहाँ कुछ गड़बड़ हो सकती है। एक संग्रहीत कार्यविधि बनाने के लिए ऑपरेशन, जिसे पीएल / एसक्यूएल का उपयोग करके लिखा गया है, वास्तव में एसक्यूएल है - आप पीएल / एसक्यूएल के ब्लॉक का प्रतिनिधित्व करने वाले डेटाबेस ऑब्जेक्ट को बनाने के लिए एसक्यूएल का उपयोग करते हैं।
इसी तरह, आप अपने PL / SQL के अंदर SQL कोड एम्बेड कर सकते हैं। उदाहरण के लिए, PL / SQL में एक लूप SQL क्वेरी पर आधारित हो सकता है। अपने मन को थोड़ा उड़ा लेता है, एह? आप SQL का उपयोग करके एक प्रक्रिया बनाते हैं जो वास्तव में डेटाबेस से रिकॉर्ड पर कुछ कार्रवाई करने के लिए आंतरिक रूप से SQL का उपयोग करता है।
अगर तुम मुझसे पूछोगे तो मस्त माल।