कम्प्युटरडेटाबेस

SQL भण्डारण प्रक्रियाहरु: सिर्जना गर्न र प्रयोग

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

परिचय

धेरै मानिसहरू विभिन्न को प्रक्रियाहरु समान छन् भन्ने विश्वास गर्छन् उच्च स्तरको कार्यक्रम भाषाहरू (एमएस SQL लागि बाहेक, क्रमशः)। सायद यो सत्य हो। तिनीहरूले यस्तै मूल्य जारी गर्न सक्छ, त्यस्तै मापदण्डहरू छन्। यसबाहेक, केही अवस्थामा तिनीहरूले सम्पर्कमा आउँछन्। उदाहरणका लागि, तिनीहरूले DDL को डेटाबेस र DML डाटा, साथै प्रयोगकर्ता कार्य (- यूडीएफ कोड नाम) संग संयुक्त छन्।

वास्तवमा भण्डारण SQL प्रक्रियाहरु यस्तो प्रक्रिया बीचमा तिनीहरूलाई छुट्याउन कि लाभ को एक विस्तृत श्रृंखला छ। सुरक्षा, variability कार्यक्रम उत्पादकत्व - यो सबै डेटाबेस काम प्रयोगकर्ता आकर्षित, थप र अधिक। लोकप्रियता को शिखर म नाम «SQL सर्भर व्यवस्थापन स्टुडियो» अन्तर्गत "माइक्रोसफ्ट" बाट कार्यक्रम पायो जब, वर्ष 2005-2010 को लागि प्रक्रियाहरु आए। यसको मदतले, डेटाबेस संग काम धेरै, सजिलो थप व्यावहारिक र थप सुविधाजनक भएको छ। वर्ष पछि वर्ष, यो जानकारी दिइरहनुभएको को विधि को कार्यक्रम वातावरणमा लोकप्रियता प्राप्त गरियो। आज, एमएस SQL सर्भर को लागि प्रयोगकर्ता डेटाबेस "कुराकानी" गर्न, "एक्सेल" एक बराबरीको उभिएर जो बिल्कुल सामान्य कार्यक्रम छ।

तपाईं प्रक्रिया कल गर्दा, यो अनावश्यक प्रक्रियाहरू र प्रयोगकर्ता हस्तक्षेप बिना सर्भर द्वारा तत्काल प्रक्रिया छ। मेटाउने, कार्यान्वयन, परिवर्तन: तपाईं त जानकारी कुनै पनि कार्य गर्न सक्दैन। यो सबै भन्दा एकल-handedly ती वस्तुहरु मा जटिल कार्यहरू गर्ने DDL-अपरेटर, छ। र यो सबै धेरै चाँडै हुन्छ, र सर्भर वास्तवमा लोड छैन। यो गति र उत्पादकत्व तपाईं चाँडै जानकारी को ठूलो मात्रा सर्भर र विपरित गर्न प्रयोगकर्ता देखि स्थानान्तरण गरौं।

जानकारी यो काम कार्यान्वयन गर्न, त्यहाँ धेरै कार्यक्रम भाषाहरू प्रविधिहरू छन्। यी समावेश, उदाहरणका लागि, देखि PL / SQL डेटाबेस व्यवस्थापन प्रणाली Oracle, PSQL Interbase र Firebird प्रणाली मा, साथै क्लासिक "maykrosoftovskih» Transact-SQL। ती सबै सिर्जना र एक ठूलो डेटाबेस हेण्डलरहरू मा आफ्नै एल्गोरिदम प्रयोग गर्न अनुमति दिने, भण्डारण प्रक्रिया चलाउन डिजाइन गर्दै हुनुहुन्छ। यो आवश्यक छ र जसले यस्तो जानकारी को व्यवस्थापन पूरा ती, अनधिकृत तेस्रो दल र, त्यसकारण, सिर्जना, परिमार्जन वा केही डेटा मेटाउने सबै वस्तुहरु रक्षा गर्न सक्छन् भन्ने सुनिश्चित गर्न।

उत्पादकत्व

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

सुरक्षा

जानकारी प्रशोधन यस प्रकारको यो परिस्कृत सुरक्षा प्रदान गर्दछ त्यस्तै प्रक्रियाहरू भिन्न हुन्छ। यो पहुँच प्रक्रियाहरु अन्य प्रयोगकर्ताहरूको सम्पूर्ण निर्मूल गर्न सकिन्छ भन्ने तथ्यलाई द्वारा सुनिश्चित छ। यो प्रशासक सञ्चालन अवरोधन वा डेटाबेस अनधिकृत पहुँच को डर बिना स्वतन्त्र तिनीहरूलाई सञ्चालन गर्न अनुमति दिन्छ।

डाटा स्थानान्तरण

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

- डाटा प्रसारण आउटपुट प्यारामिटर प्रकार मार्फत;

- फिर्ती कथन मार्फत डाटा प्रसारण;

- वाहक चयन मार्फत डाटा प्रसारण।

र अहिले यो प्रक्रिया नै भित्र कस्तो देखिन्छ देखो।

एसक्यूएल प्रक्रिया 1. सिर्जना EXEC-भण्डारण

तपाईं एमएस SQL (Managment स्टुडियो) मा प्रक्रिया सिर्जना गर्न सक्नुहुन्छ। पछि प्रक्रिया सिर्जना गरिएको छ, यो एक प्रोग्रामयोग्य डेटाबेस नोड, जसमा प्रक्रिया सृष्टिको अपरेटर द्वारा गरिन्छ सूचीकृत छ। EXEC-एक वस्तु नाम समावेश गर्ने प्रक्रिया प्रयोग SQL भण्डारण प्रक्रिया कार्यान्वयन गर्न।

नाम सिर्जना पहिलो प्रक्रिया आउँदा, र त्यसपछि उहाँलाई नियुक्त गरिएका एक वा बढी मापदण्डहरू गरे। मापदण्डहरु वैकल्पिक हुन सक्छ। खुट्टामीटर (हरू) पछि, प्रक्रिया को शरीर अर्थात्, लिखित गर्न यो केही आवश्यक अपरेसन पूरा गर्न आवश्यक छ।

तथ्यलाई शरीर स्थानीय चर, यो मा स्थित हुन सक्छ, र यी चर स्थानीय र प्रक्रियाहरु को सम्बन्ध मा छन्। अर्को शब्दमा, तिनीहरूले विचार गर्न सकिन्छ मात्र शरीर उपचार भित्र Microsoft SQL सर्भर। यस मामला मा भण्डारण प्रक्रियाहरु स्थानीय मानिन्छ।

त्यसैले, एक प्रक्रिया सिर्जना गर्न, हामी प्रक्रिया नाम र प्रक्रिया शरीर रूपमा कम्तीमा एक प्यारामिटर आवश्यक छ। कृपया याद गर्नुहोस् कि यो मामला मा एक उत्कृष्ट विकल्प वर्गीकरण मा एक योजना नामको प्रक्रियाहरु सिर्जना र कार्यान्वयन हुन्छ।

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

- शरीर कुनै पनि अन्य भण्डार गरिएको कार्यविधि सिर्जना गर्दैन;

- शरीर वस्तु बारेमा गलत छाप सिर्जना हुँदैन;

- शरीर कुनै पनि ट्रिगरहरू सिर्जना गर्दैन।

2. प्रक्रिया को शरीर मा चर सेट

तपाईं चर शरीर को प्रक्रिया गर्न स्थानीय बनाउन सक्छ, र त्यसपछि तिनीहरूले प्रक्रिया शरीर भित्र हुनेछ। राम्रो अभ्यास पनि भण्डार गरिएको कार्यविधि शरीर को सुरुमा एक चर सिर्जना छ। तर तपाईं पनि चर वस्तुको शरीर मा कहीं सेट गर्न सक्नुहुन्छ।

कहिलेकाहीं तपाईंले केही चर समान पङ्क्ति सेट गरिएको छ, र एक अल्पविराम द्वारा विभाजित प्रत्येक चल नोटिस सक्छ। चर संग @ पूर्व फिक्स छ पनि ध्यान दिनुहोस्। प्रक्रिया को शरीर मा, तपाईं जो तपाईं चाहनुहुन्छ एक चर सेट गर्न सक्नुहुन्छ। उदाहरणका लागि, @ NAME1 चल प्रक्रिया शरीर को अन्त तिर घोषणा गर्न सकिन्छ। एक चर एक मूल्य नियुक्त गर्न व्यक्तिगत डाटा को एक सेट प्रयोग गरेर घोषणा गरे। एक भन्दा बढी चल समान पङ्क्ति घोषणा गर्दा परिस्थितिको यसको विपरीत, प्रयोग व्यक्तिगत डाटा मात्र एक सेट यस अवस्थामा।

"कसरी धेरै मान एकल बयान मा राम्रो प्रक्रिया को शरीर मा नियुक्त गर्न ': प्रयोगकर्ता अक्सर प्रश्न। रोचक प्रश्न, तर यो तपाईंलाई लाग्छ भन्दा धेरै सजिलो छ। जवाफ: «Var चयन = मूल्य जस्ता जोडी को मद्दतले"। तपाईं अल्पविरामद्वारा विभाजित गरेर यी जोडी, प्रयोग गर्न सक्नुहुन्छ।

3. एक भण्डारण SQL प्रक्रिया सिर्जना

मान्छे को उदाहरण को एक विस्तृत विविधता मा एक सरल भण्डार गरिएको कार्यविधि बनाउन देखाउने र यसलाई कार्यान्वयन। तर, प्रक्रिया को कल प्रक्रिया यो (तर सधैं) नजिक मान हुनेछ कि यस्तो मापदण्डहरू लाग्न सक्छ। तिनीहरूले मेल भने, त्यसपछि शरीर भित्र अनुरूप प्रक्रिया सुरु हुन्छ। उदाहरणका लागि, तपाईं कलर देखि शहर र क्षेत्र लिन र लेखक संवाददाता शहर र क्षेत्र उल्लेख कति बारेमा डाटा फिर्ता हुनेछ प्रक्रिया सिर्जना भने। प्रक्रिया यो गणना लेखक प्रदर्शन को लागि, उदाहरण, पब लागि, लेखक को एक डेटाबेस तालिका क्वेरी हुनेछ। यी डेटाबेस प्राप्त गर्न, उदाहरणका लागि, Google SQL2005 पृष्ठ संग SQL लिपि डाउनलोड।

अघिल्लो उदाहरण मा, प्रक्रिया दुई प्यारामिटर, जो अंग्रेजी मा conditionally @State र @City भनिन्छ हुनेछ लिन्छ। डेटा प्रकार आवेदन निर्दिष्ट प्रकार पारस्परिक रहेको छ। प्रक्रिया शरीर आन्तरिक चर @TotalAuthors (सबै लेखक) छ, र यो चर आफ्नो नम्बर प्रदर्शन गर्न प्रयोग गरिएको छ। अर्को एक खण्ड चयन अनुरोध सबै गणना आउँछ। अन्तमा, गणना मूल्य मुद्रण कथन प्रयोग गरेर उत्पादन विन्डो प्रदर्शित छ।

एक भण्डारण SQL प्रक्रिया कसरी गर्न

त्यहाँ प्रक्रिया प्रदर्शन गर्न दुई तरिकाहरू छन्। पहिलो तरिका अल्पविराम-विभाजित सूची प्रक्रिया नाम पछि गरिन्छ रूपमा मापदण्डहरू पारित देखाएको छ। हामी (अघिल्लो उदाहरण मा जस्तै) दुई मान छ मानौं। यी मान चर र @State @City प्रक्रिया प्रयोग गरेर संकलित छन्। यो विधि मा, प्रसारण अर्डर महत्त्वपूर्ण मापदण्डहरू। यो विधि तर्कको प्रसारण अनुक्रम भनिन्छ। दोस्रो विधि मा, मापदण्डहरू पहिले नै सीधा, आदेश महत्त्वपूर्ण छैन जो मामला मा काम तोकिएको छ। यो दोस्रो विधि नाम तर्कको प्रसारण रूपमा चिनिन्छ।

प्रक्रिया अलिकति विशिष्ट देखि हटना सक्छ। सबै एउटै, अघिल्लो उदाहरण मा जस्तै, तर मापदण्डहरू यहाँ मात्र सारे छन्। त्यो @City प्यारामिटर पहिलो भण्डारण गरिएको छ, र @State पूर्वनिर्धारित मान गर्न अर्को भण्डारण गरिएको छ। पूर्वनिर्धारित सेटिङ सामान्यतया अलग विनियोजन गरिएको छ। SQL भण्डारण प्रक्रियाहरु रूपमा सरल मापदण्डहरू छन्। यस मामला मा, विकल्प संविधानसभा "" को शासित 'पूर्वनिर्धारित मूल्य प्रतिस्थापन "प्रदान। मा दोस्रो embodiment @City लागि एउटा मात्र तर्क मान, र "संविधानसभा" गर्न @State विकल्प पूर्वनिर्धारित बित्दै। अनुभवी प्रोग्रामर सबै पूर्वनिर्धारित चर को प्यारामिटर सूची को अन्त नजिक स्थित छन् सल्लाह छन्। अन्यथा कार्यान्वयन सम्भव छैन, त तपाईं अब र थप कि नाम तर्क जटिल को स्थानान्तरण काम गर्न छ।

4 संग्रहित प्रक्रिया SQL सर्भर: फिर्ता को तरिका

त्यहाँ भनिन्छ प्रक्रिया भण्डार डाटा पठाउन तीन प्रमुख तरिका हो। तिनीहरूले सूचीबद्ध तल:

- फिर्ती मान भण्डार गरिएको कार्यविधि;

- आउटपुट प्यारामिटर भण्डारण प्रक्रिया;

- यो भण्डारण प्रक्रियाहरु मध्ये एक चयन गर्नुहोस्।

भण्डारण गरिएका SQL प्रक्रियाहरु को 4.1 मान रिटर्न

यो प्रक्रिया मा, प्रक्रिया स्थानीय चर को मूल्य सेट र यसलाई फर्काउँछ। प्रक्रिया पनि सिधै स्थिर मूल्य फिर्ता गर्न सक्नुहुन्छ। उदाहरणका निम्न, हामी प्रायोजकहरूले को कुल संख्या फर्काउछ प्रक्रिया सिर्जना गर्नुभएको छ। हामी अघिल्लो प्रक्रिया संग तुलना भने, तपाईं मुद्रण को मूल्य उल्टो बदलिएको छ हेर्न सक्नुहुन्छ।

अब प्रक्रिया प्रदर्शन गर्न र मूल्य प्रदर्शन कसरी, यो फिर्ता हेरौं। प्रदर्शन प्रक्रियाहरु स्थापना गर्न र चल मुद्रण, प्रक्रिया पछि बाहिर छ, जो आवश्यक छ। कि सट्टा अपरेटर मुद्रण को उदाहरण, @RetValue चयन गर्नुहोस्, र OutputValue लागि, चयन-अपरेटर प्रयोग गर्न सक्नुहुन्छ सूचना।

4.2 आउटपुट परिमिति SQL भण्डारण प्रक्रियाहरु

प्रतिक्रिया मूल्य हामी अघिल्लो उदाहरण मा देखेको छ कि एक चर फिर्ता गर्न प्रयोग गर्न सकिन्छ। को कल पार्टी एक वा धेरै चर पठाउन प्रक्रिया अनुमति दिन्छ आउटपुट प्रयोग गरेर। प्रक्रिया सिर्जना गर्दा उत्पादन प्यारामिटर समय रूपमा denoted छ यो कुञ्जी शब्द «उत्पादन»। खुट्टामीटर एक उत्पादन प्यारामिटर रूपमा निर्दिष्ट गरिएको छ भने, प्रक्रिया वस्तु यो मान नियुक्त गर्नुपर्छ। भण्डारण गरिएका प्रक्रियाहरु SQL, उदाहरणहरू जो अन्तिम जानकारी फर्केपछि यस्तो मामला मा, तल देख्न सकिन्छ।

यो उदाहरण मा, दुई सप्ताहन्तमा नाम हुनेछ: @TotalAuthors र @TotalNoContract। तिनीहरूले प्यारामिटर सूची निर्दिष्ट छन्। यी चर प्रक्रिया शरीर भित्र मान तोकिएको छन्। जब हामी उत्पादन मापदण्डहरु प्रयोग, कलर प्रक्रिया शरीर मा सेट मूल्य देख्न सक्छौं।

साथै, अघिल्लो परिदृश्य मा, दुई चर भण्डारण प्रक्रियाहरु, एक उत्पादन प्यारामिटर रूपमा एमएस SQL सर्भर स्थापित छन् भनेर मान हेर्न घोषणा गर्दै हुनुहुन्छ। त्यसपछि प्रक्रिया सामान्य मूल्य «संविधानसभा» प्यारामिटर लागू गरेर गरिन्छ। निम्न मापदण्डहरु त्यसैले, घोषणा चर को निर्धारित तरिका पारित गर्दै छन्, उत्पादन र। कृपया याद गर्नुहोस् कि जब एक चर उत्पादन खोजशब्द पनि यहाँ निर्दिष्ट छ। प्रक्रिया सफलतापूर्वक पूरा भएपछि, उत्पादन मापदण्डहरू प्रयोग गरेर फर्के मान सन्देश विन्डो प्रदर्शित छन्।

4.3 एक भण्डारण SQL प्रक्रियाहरु चयन

यो प्रविधी एक भण्डार गरिएको कार्यविधि कल लागि फारम तालिका डाटा मानहरू (Recordset) मा एक सेट फिर्ता गर्न प्रयोग गरिन्छ। यो उदाहरणमा, SQL मापदण्डहरू @AuthID यो प्यारामिटर @AuthId फर्काइएका रेकर्ड फिल्टर गरी तालिका "लेखक" अनुरोध संग प्रक्रिया भण्डारण। अपरेटर चयन एक भण्डार गरिएको कार्यविधि कल के फर्के गर्नुपर्छ निर्णय गर्छ। जब भण्डार गरिएको कार्यविधि फिर्ता प्रसारित AuthId। यस्तो प्रक्रिया सधैं छ केवल एक रेकर्ड वा कुनै पनि सबै फर्काउँछ। तर, भण्डार गरिएको कार्यविधि एक भन्दा बढी प्रविष्टि को फिर्ती मा कुनै पनि प्रतिबन्ध छैन। अक्सर उदाहरण पाउन सकिन्छ जसमा गणना चर संग मापदण्डहरू प्रयोग गरेर चयन फिर्ती डाटा कुल मान को एक अधिकता प्रदान गरेको छ।

निश्कर्षमा

एक भण्डार गरिएको कार्यविधि कारण ग्राहक आवेदन गर्न आवश्यक चर स्थापना रूपमा साथै फर्के वा हस्तान्तरण, एक राम्रो गम्भीर कार्यक्रम छ। को भण्डार गरिएको कार्यविधि सर्भर नै मा कार्यान्वयन गरिएको छ, सर्भर र ग्राहक आवेदन (केही गणना लागि) बीच ठूलो मात्रा मा डाटा विनिमय बचा गर्न सकिन्छ। यो सम्भव भएको SQL सर्भर, जो, पाठ्यक्रम, आफ्नो धारकों को हात छ मा लोड कम बनाउँछ। को उप को एक प्रक्रियाहरु भण्डारण छन् टी SQL, तर आफ्नो अध्ययन एक प्रभावशाली डेटाबेस सिर्जना संलग्न ती आवश्यक छ। एक ठूलो, पनि विशाल भण्डार प्रक्रियाहरु को अध्ययन मा उपयोगी हुन सक्छ कि nuances को रकम पनि छ, तर, योजना निम्ति यो आवश्यकता तंग कार्यक्रम, पेशेवर सहित गर्न।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ne.delachieve.com. Theme powered by WordPress.