Database
 sql >> डेटाबेस >  >> RDS >> Database

SQL में संग्रहीत कार्यविधियाँ कैसे बनाएँ?

प्रक्रियाएं उपप्रोग्राम हैं जिन्हें डेटाबेस ऑब्जेक्ट के रूप में डेटाबेस में बनाया और सहेजा जा सकता है। जैसे आप अन्य भाषाओं में कर सकते हैं, वैसे ही आप SQL में भी प्रक्रियाएँ बना और छोड़ सकते हैं। इस लेख में, आइए सिंटैक्स और उदाहरणों के साथ SQL में प्रक्रियाओं का पता लगाएं।

लेख में जिन विषयों पर चर्चा की गई है वे हैं:

  • एसक्यूएल में एक प्रक्रिया क्या है?
  • एसक्यूएल प्रक्रिया सिंटैक्स
  • एसक्यूएल में उदाहरण प्रक्रिया
  • एसक्यूएल प्रक्रियाओं के लाभ

एसक्यूएल में एक प्रक्रिया क्या है?

SQL में एक प्रक्रिया (जिसे अक्सर संग्रहीत कार्यविधि कहा जाता है), एक पुन:प्रयोज्य इकाई है जो एप्लिकेशन के विशिष्ट व्यावसायिक तर्क को समाहित करती है। SQL प्रक्रिया SQL कथनों और तर्कों का एक समूह है, जिसे एक विशिष्ट कार्य को करने के लिए संकलित और संग्रहीत किया जाता है।

नीचे सूचीबद्ध SQL प्रक्रियाओं की प्रमुख विशेषताएं हैं:

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

अब जब आप जानते हैं कि प्रक्रियाएं क्या हैं और उनकी आवश्यकता क्यों है, तो आइए SQL में सिंटैक्स और प्रक्रिया के उदाहरण पर चर्चा करें।

एसक्यूएल में प्रक्रियाओं का सिंटैक्स

निम्नलिखित SQL में एक प्रक्रिया बनाने के मूल सिंटैक्स को दिखाता है:

बनाएं [या बदलें] प्रक्रिया प्रक्रिया_नाम [(पैरामीटर_नाम [IN | OUT | IN OUT] टाइप करें [ ])]{IS | AS }BEGIN [घोषणा_अनुभाग]निष्पादन योग्य_अनुभाग // संग्रहीत कार्यविधि में प्रयुक्त SQL कथनENDGO

सिंटैक्स शब्दावली

पैरामीटर

पैरामीटर एक वेरिएबल है जो किसी भी मान्य SQL डेटाटाइप का मान रखता है जिसके माध्यम से उपप्रोग्राम मुख्य कोड के साथ मानों का आदान-प्रदान कर सकता है। दूसरे शब्दों में, मापदंडों का उपयोग प्रक्रिया में मूल्यों को पारित करने के लिए किया जाता है। 3 अलग-अलग प्रकार के पैरामीटर हैं, जो इस प्रकार हैं:

  • IN :यह डिफ़ॉल्ट पैरामीटर है, जो हमेशा कॉलिंग प्रोग्राम से मान प्राप्त करता है। यह सबप्रोग्राम के अंदर केवल-पढ़ने के लिए वैरिएबल है और इसके मान को सबप्रोग्राम के अंदर नहीं बदला जा सकता है।
  • बाहर: इसका उपयोग सबप्रोग्राम से आउटपुट प्राप्त करने के लिए किया जाता है।
  • इन आउट: इस पैरामीटर का उपयोग इनपुट देने और सबप्रोग्राम से आउटपुट प्राप्त करने दोनों के लिए किया जाता है।

अन्य शब्दावली

  • प्रक्रिया-नाम प्रक्रिया का नाम निर्दिष्ट करता है। यह अद्वितीय होना चाहिए।
  • [OR REPLACE] विकल्प मौजूदा प्रक्रिया में बदलाव की अनुमति देता है।
  • आईएस | एएस क्लॉज, उन्होंने संग्रहित प्रक्रिया को निष्पादित करने के लिए संदर्भ निर्धारित किया है। अंतर यह है कि, कीवर्ड 'IS' का उपयोग तब किया जाता है जब प्रक्रिया कुछ अन्य ब्लॉकों में नेस्टेड होती है और यदि प्रक्रिया स्टैंडअलोन होती है तो 'AS' का उपयोग किया जाता है।
  • Code_Block उन प्रक्रियात्मक विवरणों की घोषणा करता है जो संग्रहीत प्रक्रिया के भीतर सभी प्रसंस्करण को संभालते हैं। कोड_ब्लॉक की सामग्री डेटाबेस द्वारा उपयोग किए जाने वाले नियमों और प्रक्रियात्मक भाषा पर निर्भर करती है।

एसक्यूएल में प्रक्रिया:उदाहरण

उदाहरण1

निम्न उदाहरण एक सरल प्रक्रिया बनाता है जो निष्पादित होने पर स्क्रीन पर स्वागत संदेश प्रदर्शित करता है। फिर, प्रक्रिया होगी:

प्रक्रिया बनाएं या बदलें स्वागत_msg(VARCHAR2 में para1_name) BEGIN dbms_output.put_line ('हैलो वर्ल्ड!'|| para1_name);END; // पूर्व> 

संग्रहीत कार्यविधि निष्पादित करें। एक स्टैंडअलोन प्रक्रिया को दो तरह से कहा जा सकता है -

  • निष्पादन . का उपयोग करना कीवर्ड
  • एसक्यूएल ब्लॉक से प्रक्रिया का नाम कॉल करना

उपरोक्त प्रक्रिया को निम्नानुसार निष्पादित कीवर्ड का उपयोग करके बुलाया जा सकता है:

 EXEC स्वागत_संदेश ('एडुरेका में आपका स्वागत है!');

आउटपुट

हैलो वर्ल्ड! एडुरेका में आपका स्वागत है 

प्रक्रिया निष्पादित की जाती है, और संदेश "हैलो वर्ल्ड! एडुरेका में आपका स्वागत है"।

उदाहरण2

मान लें कि आपके पास कर्मचारी विवरण वाली एक तालिका है, जैसे, कर्मचारी आईडी, प्रथम नाम, अंतिम नाम और विभाग विवरण।

यह उदाहरण एक SQL प्रक्रिया बनाता है जो कर्मचारी का नाम तब लौटाएगा जब EmployeeId संग्रहीत प्रक्रिया के लिए इनपुट पैरामीटर के रूप में दिया जाता है। फिर, प्रक्रिया होगी:

प्रक्रिया बनाएं GetStudentName (@employeeID INT, --Input पैरामीटर , EmployeeID of Employee@employeName VARCHAR(50) OUT --Output पैरामीटर, EmployeeName of EmployeeASBEGINSELECT @employeName=Firstname+' '+Lastname from Employee_Table WHERE EmployeeId=@employer 

निष्पादित करने के लिए कदम:

  • @employeName को nvarchar(50) घोषित करें
  • EXEC GetStudentName 01, @employeName आउटपुट
  • @employeName चुनें

कर्मचारी आईडी को इनपुट के रूप में देने की उपरोक्त प्रक्रिया उस विशेष कर्मचारी का नाम लौटाती है। मान लीजिए अगर हमारे पास आउटपुट पैरामीटर है तो हमें पहले आउटपुट वैल्यू एकत्र करने के लिए वेरिएबल घोषित करने की आवश्यकता है। आइए अब SQL में प्रक्रिया के लाभों की जाँच करें।

एसक्यूएल में प्रक्रियाओं के लाभ

SQL में संग्रहीत कार्यविधियों का मुख्य उद्देश्य कोड से सीधे SQL प्रश्नों को छिपाना और डेटाबेस संचालन के प्रदर्शन में सुधार करना है जैसे डेटा का चयन, अद्यतन और हटाना। SQL में प्रक्रिया के अन्य लाभ हैं:

  • डेटाबेस सर्वर को भेजी गई जानकारी की मात्रा को कम करता है। नेटवर्क की बैंडविड्थ कम होने पर यह अधिक महत्वपूर्ण लाभ बन सकता है।
  • कोड की पुन:प्रयोज्यता को सक्षम करता है
  • सुरक्षा को बढ़ाता है क्योंकि आप उपयोगकर्ता को संग्रहीत प्रक्रिया में उपयोग की गई तालिकाओं पर अनुमति देने के बजाय संग्रहीत प्रक्रिया को निष्पादित करने की अनुमति दे सकते हैं।
  • नेस्टेड प्रक्रिया कॉल का समर्थन अन्य SQL प्रक्रियाओं या अन्य भाषाओं में लागू प्रक्रियाओं के लिए करता है।

निष्कर्ष निकालने के लिए, SQL (संग्रहीत कार्यविधियाँ) में कार्यविधियाँ न केवल कोड के पुन:उपयोग की संभावना को बढ़ाती हैं बल्कि डेटाबेस के प्रदर्शन को भी बढ़ाती हैं। कैसे? नेटवर्क पर भेजी गई सूचना की मात्रा को कम करके नेटवर्क के ट्रैफ़िक को कम करके। इसी के साथ हम इस लेख के अंत में आ गए हैं।

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

हमारे लिए एक प्रश्न है? कृपया इस 'एसक्यूएल में प्रक्रियाएं' के टिप्पणी अनुभाग में इसका उल्लेख करें; लेख और हम आपसे संपर्क करेंगे।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डिफ़ॉल्ट ट्रेस हटाना - भाग 1

  2. फ़िल्टर्ड इंडेक्स और शामिल कॉलम

  3. फ्लास्क, कनेक्शन और SQLAlchemy के साथ पायथन REST API - भाग 2

  4. मॉड्यूल निर्भरता का उपयोग करना, भाग 2

  5. SSH से एक डेटाबेस का बैकअप / निर्यात करें