plsql
PLSQL प्रक्रिया
खोज…
परिचय
PLSQL प्रक्रिया SQL स्टेटमेंट का एक समूह है जो सर्वर पर पुन: उपयोग के लिए संग्रहीत किया जाता है। यह निष्पादन को बढ़ाता है क्योंकि SQL कथनों को हर बार निष्पादित किए जाने के बाद पुन: संकलित नहीं करना पड़ता है।
जब एक से अधिक अनुप्रयोगों के लिए समान कोड की आवश्यकता होती है, तो संग्रहीत प्रक्रियाएं उपयोगी होती हैं। संग्रहीत कार्यविधियाँ होने से अतिरेक समाप्त हो जाता है, और कोड के लिए सादगी का परिचय देता है। जब क्लाइंट और सर्वर के बीच डेटा ट्रांसफर की आवश्यकता होती है, तो प्रक्रियाएँ कुछ स्थितियों में संचार लागत को कम कर सकती हैं।
वाक्य - विन्यास
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
< declarations >
BEGIN
< procedure_body >
EXCEPTION -- Exception-handling part begins
<exception handling goes here >
WHEN exception1 THEN
exception1-handling-statements
END procedure_name;
- प्रक्रिया-नाम प्रक्रिया के नाम को निर्दिष्ट करता है।
- [या प्रतिक्रिया] विकल्प एक मौजूदा प्रक्रिया को संशोधित करने की अनुमति देता है।
- वैकल्पिक पैरामीटर सूची में नाम, मोड और मापदंडों के प्रकार शामिल हैं। IN यह दर्शाता है कि मूल्य बाहर से पारित किया जाएगा और OUT दर्शाता है कि इस पैरामीटर का उपयोग प्रक्रिया के बाहर एक मूल्य वापस करने के लिए किया जाएगा। यदि कोई मोड निर्दिष्ट नहीं है, तो पैरामीटर को IN मोड का माना जाता है।
- डिक्लेरेशन सेक्शन में हम वैरिएबल घोषित कर सकते हैं जो बॉडी पार्ट में इस्तेमाल किए जाएंगे।
- प्रक्रिया-शरीर में निष्पादन योग्य भाग होता है।
- स्टैंडअलोन प्रक्रिया बनाने के लिए IS कीवर्ड के बजाय AS कीवर्ड का उपयोग किया जाता है।
- अपवाद अनुभाग प्रक्रिया से अपवादों को संभाल लेगा। यह अनुभाग वैकल्पिक है।
नमस्ते दुनिया
निम्न सरल कार्यविधि "Hello World" क्लाइंट में प्रदर्शित करता है जो dbms_output
का समर्थन करता है।
CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
डेटाबेस में प्रक्रिया बनाने के लिए आपको SQL प्रॉम्प्ट पर इसे निष्पादित करना होगा, या आप परिणाम प्राप्त करने के लिए नीचे क्वेरी चला सकते हैं:
SELECT 'Hello World!' from dual;
इन / आउट पैरामीटर
PL / SQL IN, OUT, IN OUT कीवर्ड का उपयोग यह परिभाषित करने के लिए करता है कि एक पारित पैरामीटर का क्या हो सकता है।
निर्दिष्ट करता है कि पैरामीटर केवल पढ़ा जाता है और मूल्य प्रक्रिया द्वारा नहीं बदला जा सकता है।
OUT निर्दिष्ट करता है कि पैरामीटर केवल लिखा जाता है और एक प्रक्रिया इसके लिए एक मान निर्दिष्ट कर सकती है, लेकिन मान का संदर्भ नहीं।
OUT निर्दिष्ट करता है कि पैरामीटर संदर्भ और संशोधन के लिए उपलब्ध है।
PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;
procedureName(firstvar, secondvar, thirdvar);
उपरोक्त उदाहरण में पारित चर को टाइप करने की आवश्यकता है क्योंकि वे प्रक्रिया पैरामीटर अनुभाग में परिभाषित किए गए हैं।