तालिका लौटाने के लिए PostgreSQL फ़ंक्शन

Talika Lautane Ke Li E Postgresql Fanksana



कभी-कभी, आप एक फ़ंक्शन बनाना चाह सकते हैं जो परिणाम सेट को समाहित करने के लिए आपके PostgreSQL डेटाबेस में एक तालिका लौटाता है। एक 'पीजीएसक्यूएल' फ़ंक्शन बनाना जो आपको रिकॉर्ड पुनर्प्राप्त करने देता है और एक रिटर्न क्वेरी का उपयोग करता है जो परिणाम सेट को तालिका के रूप में प्रदर्शित करता है, संभव है। यह पोस्ट आपको एक PostgreSQL फ़ंक्शन बनाने में मार्गदर्शन करती है जो एक तालिका लौटाता है।

तालिका लौटाने के लिए PostgreSQL फ़ंक्शन कैसे बनाएं

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

PostgreSQL फ़ंक्शन बनाने के लिए सिंटैक्स निम्नलिखित है जो एक तालिका लौटाता है:







फ़ंक्शन बनाएं या बदलें function_name(parameter_list)

रिटर्न तालिका(कॉलम_सूची)

एएस $$

प्रारंभ वापसी क्वेरी(क्वेरी);

अंत;

$$ भाषा plpgsql

ऐसे फ़ंक्शंस बनाने के बारे में अच्छी बात यह है कि यह आपको अपनी तालिका से एक मान वापस करने के बजाय विभिन्न 'कॉलम_लिस्ट' निर्दिष्ट करने की अनुमति देता है। आइए दो उदाहरण लें जिससे हमें यह समझने में मदद मिलेगी कि किन चरणों का पालन करना है।



उदाहरण 1: एकल इनपुट के साथ कार्य करना

तालिका लौटाने वाला फ़ंक्शन बनाते समय, आपको रिटर्न क्वेरी के साथ उपयोग करने के लिए तर्क प्रदान करना होगा। तर्क एक पैटर्न या एक विशिष्ट इनपुट हो सकता है। यह उदाहरण एक ऐसा मामला देता है जहां हम तर्क के रूप में एकल इनपुट का उपयोग करते हैं।



निम्नलिखित 'छात्र' तालिका है जिसका उपयोग हम अपनी क्वेरी के लिए करेंगे:





निम्नलिखित छवि में, हम 'get_student' नामक एक फ़ंक्शन बनाते हैं जो तर्क के रूप में INT लेता है। रिटर्न टेबल अनुभाग में, हम चार कॉलम वाली एक तालिका लौटाते हैं: 'छात्र_आईडी', 'छात्र_नाम', 'छात्र_संकाय', और 'वर्तमान_स्थिति'।



ये सभी कॉलम हमारे द्वारा परिभाषित रिटर्न क्वेरी से अपना मान प्राप्त करते हैं। ध्यान दें कि रिटर्न क्वेरी पैरामीटर सूची का उपयोग करके WHERE स्टेटमेंट का उपयोग करती है जिसे हम फ़ंक्शन बनाते समय निर्दिष्ट करते हैं।

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

\df *get_student();

हम निर्दिष्ट नाम वाले किसी भी फ़ंक्शन से मिलान करने के लिए तारांकन जोड़ते हैं। आउटपुट से पता चलता है कि हमारे डेटाबेस में हमारा PostgreSQL फ़ंक्शन है।

अंतिम चरण निर्मित फ़ंक्शन का परीक्षण करना है। फ़ंक्शन को कॉल करने के लिए 'चयन करें' कथन चलाएँ। फिर, अपेक्षित तर्क जोड़ें। हमारे मामले के लिए, पैरामीटर INT प्रकार का है। इस प्रकार, हम उससे मेल खाने वाले रिकॉर्ड को पुनः प्राप्त करने के लिए अपने तर्क के रूप में 1 जोड़ते हैं और एक तालिका लौटाते हैं जैसा कि निम्नलिखित में दिखाया गया है:

उदाहरण 2: इनपुट पैटर्न के साथ कार्य करना

जब रिटर्न क्वेरी के साथ उपयोग किए जाने वाले मूल्य के बारे में अनिश्चित हो, तो आप दिए गए पैटर्न से मिलान करने के लिए ILIKE ऑपरेटर का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपके पास एक नाम है और आप केवल स्ट्रिंग का एक भाग जानते हैं, तो ILIKE ऑपरेटर आपको यह परिभाषित करने के लिए '%' प्रतीक का उपयोग करने देता है कि आपका पैटर्न कैसा होगा।

हम इस मामले के लिए निम्नलिखित तालिका का उपयोग करते हैं और नाम कॉलम को लक्षित करते हैं:

हम एक फ़ंक्शन बनाते हैं जो उसी के समान है जो हमने पहले किया था। हालाँकि, पैरामीटर प्रकार बदल गया है और रिटर्न क्वेरी ILIKE ऑपरेटर का उपयोग करती है जिसे फ़ंक्शन को कॉल करते समय एक तर्क के रूप में जोड़ा जाता है।

एक बार फ़ंक्शन तैयार हो जाने पर, हम तालिका वापस करने के लिए इसे कॉल कर सकते हैं। इसके बारे में जाने के विभिन्न तरीके हैं। उदाहरण के लिए, यदि खोज पैटर्न में स्ट्रिंग में 'जो' है, तो हम कमांड क्वेरी को निम्नानुसार निष्पादित करते हैं:

Get_details('%Jo%') से * चुनें;

हम सभी मानों को उनकी स्ट्रिंग में 'जो' से मिलाते हैं, जिससे हमें दो रिकॉर्ड मिलते हैं।

यदि हम किसी स्ट्रिंग का केवल अंतिम भाग जानते हैं, तो हम क्वेरी को मोड़ते हैं और इसे निम्नानुसार चलाते हैं:

Get_details('%Tyson') से * चुनें;

अंत में, यदि हम स्ट्रिंग के पहले भाग को जानते हैं, तो हम पैटर्न के बाद '&' प्रतीक जोड़ते हैं जैसा कि निम्नलिखित में दिखाया गया है:

Get_details('Tim%') से * चुनें;

किसी तालिका को वापस करने के लिए PostgreSQL फ़ंक्शन का उपयोग कैसे करें, इसके विभिन्न उदाहरण हैं।

निष्कर्ष

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