ٹیبل واپس کرنے کے لیے PostgreSQL فنکشن

Ybl Waps Krn K Ly Postgresql Fnkshn



بعض اوقات، آپ ایک ایسا فنکشن بنانا چاہتے ہیں جو آپ کے PostgreSQL ڈیٹا بیس میں ایک ٹیبل واپس کرتا ہے تاکہ نتیجہ سیٹ کو سمیٹ سکے۔ ایک 'pgSQL' فنکشن بنانا جو آپ کو ریکارڈز بازیافت کرنے دیتا ہے اور واپسی کے سوال کا استعمال کرتا ہے جو میز کے طور پر سیٹ کردہ نتیجہ کو ظاہر کرتا ہے۔ یہ پوسٹ آپ کو PostgreSQL فنکشن بنانے کے لیے رہنمائی کرتی ہے جو ایک ٹیبل لوٹاتا ہے۔

ٹیبل کو واپس کرنے کے لیے PostgreSQL فنکشن کیسے بنایا جائے۔

جب آپ کے پاس PostgreSQL ڈیٹابیس ہے اور آپ ٹیبل سے ریکارڈ چیک کرنا چاہتے ہیں تو وقتاً فوقتاً کسی فنکشن کا استعمال کرنا سب سے آسان طریقہ ہے، خاص طور پر PostgreSQL فنکشن جو اپنے رزلٹ سیٹ میں ایک ٹیبل لوٹاتا ہے۔ اس طرح، آپ اپنے رزلٹ سیٹ کو سمیٹ لیتے ہیں، اور اس طریقہ کار کو استعمال کرنے سے کوڈ کی بہتر تنظیم میں مدد ملتی ہے۔

PostgreSQL فنکشن بنانے کے لیے مندرجہ ذیل نحو ہے جو ایک ٹیبل لوٹاتا ہے۔







فنکشن بنائیں یا بدلیں فنکشن_نام(پیرامیٹر_لسٹ)

واپسی کی میز (کالم_لسٹ)

AS $$

واپسی کا سوال (استفسار) شروع کریں؛

اختتام

$$ LANGUAGE plpgsql

اس طرح کے فنکشنز بنانے کے بارے میں اچھی بات یہ ہے کہ یہ آپ کو اپنے ٹیبل سے ایک ہی قیمت واپس کرنے کے بجائے مختلف 'کالم_لسٹ' کی وضاحت کرنے کی اجازت دیتا ہے۔ آئیے یہ سمجھنے میں ہماری مدد کرنے کے لیے دو مثالیں دیتے ہیں کہ کن مراحل پر عمل کرنا ہے۔



مثال 1: سنگل ان پٹ کے ساتھ کام کرنا

ٹیبل کو واپس کرنے والا فنکشن بناتے وقت، آپ کو واپسی کے سوال کے ساتھ استعمال کرنے کے لیے دلیل فراہم کرنا چاہیے۔ دلیل ایک نمونہ یا مخصوص ان پٹ ہو سکتا ہے۔ یہ مثال ایک ایسا معاملہ پیش کرتی ہے جہاں ہم ایک ہی ان پٹ کو بطور دلیل استعمال کرتے ہیں۔



ذیل میں 'طالب علم' کی میز ہے جسے ہم اپنے استفسار کے لیے استعمال کریں گے۔





مندرجہ ذیل تصویر میں، ہم 'get_student' کے نام سے ایک فنکشن بناتے ہیں جو ایک INT کو بطور دلیل لیتا ہے۔ RETURNS TABLE سیکشن میں، ہم چار کالموں کے ساتھ ایک ٹیبل واپس کرتے ہیں: 'student_id'، 'student_name'، 'student_faculty'، اور 'current_status'۔



یہ تمام کالم اپنی قدریں واپسی کے سوال سے حاصل کرتے ہیں جس کی ہم وضاحت کرتے ہیں۔ نوٹ کریں کہ واپسی کے سوال میں پیرامیٹر لسٹ کا استعمال کرتے ہوئے ایک WHERE بیان استعمال کیا گیا ہے جو ہم فنکشن بناتے وقت بیان کرتے ہیں۔

ایک بار جب آپ فنکشن بناتے ہیں، تو آپ کو اس سے ملتا جلتا آؤٹ پٹ ملے گا جو ہمارے پاس پہلے تھا جو اس بات کی تصدیق کرتا ہے کہ آپ کا PostgreSQL فنکشن کامیابی کے ساتھ بنایا گیا تھا۔ اس کی مزید تصدیق کرنے کے لیے، دستیاب افعال کی فہرست کے لیے درج ذیل کمانڈ کو چلائیں۔

\df *get_student();

ہم کسی بھی فنکشن سے ملنے کے لیے ستارے شامل کرتے ہیں جس کا مخصوص نام ہے۔ آؤٹ پٹ سے پتہ چلتا ہے کہ ہمارے ڈیٹا بیس میں ہمارا PostgreSQL فنکشن موجود ہے۔

آخری مرحلہ تخلیق شدہ فنکشن کی جانچ کرنا ہے۔ فنکشن کو کال کرنے کے لیے 'منتخب' بیان کو چلائیں۔ پھر، متوقع دلیل شامل کریں۔ ہمارے کیس کے لیے، پیرامیٹر INT قسم کا ہے۔ اس طرح، ہم 1 کو اپنی دلیل کے طور پر شامل کرتے ہیں تاکہ اس سے مماثل ریکارڈز کو دوبارہ حاصل کیا جا سکے اور مندرجہ ذیل میں دکھایا گیا ٹیبل واپس کیا جا سکے۔

مثال 2: ان پٹ پیٹرن کے ساتھ کام کرنا

واپسی کے استفسار کے ساتھ استعمال کرنے کی قدر کے بارے میں یقین نہ ہونے پر، آپ دیے گئے پیٹرن سے ملنے کے لیے ILIKE آپریٹر کا استعمال کر سکتے ہیں۔ مثال کے طور پر، اگر آپ کا کوئی نام ہے اور آپ سٹرنگ کے صرف ایک حصے کو جانتے ہیں، تو ILIKE آپریٹر آپ کو یہ بتانے کے لیے '%' علامت استعمال کرنے دیتا ہے کہ آپ کا پیٹرن کیسا ہوگا۔

ہم اس کیس کے لیے درج ذیل جدول کا استعمال کرتے ہیں اور نام کے کالم کو ہدف بناتے ہیں:

ہم ایک فنکشن بناتے ہیں جو اس سے ملتا جلتا ہے جو ہم نے پہلے کیا تھا۔ تاہم، پیرامیٹر کی قسم بدل گئی ہے اور واپسی کے استفسار میں ILIKE آپریٹر استعمال ہوتا ہے جسے فنکشن کو کال کرتے وقت ایک دلیل کے طور پر شامل کیا جاتا ہے۔

فنکشن تیار ہونے کے بعد، ہم اسے ٹیبل واپس کرنے کے لیے کال کر سکتے ہیں۔ اس کے بارے میں جانے کے مختلف طریقے ہیں۔ مثال کے طور پر، اگر سرچ پیٹرن سٹرنگ میں 'Jo' پر مشتمل ہے، تو ہم کمانڈ کے استفسار کو اس طرح انجام دیتے ہیں:

get_details ('%Jo%') سے * کو منتخب کریں؛

ہم تمام اقدار کو ان کے سٹرنگ میں 'Jo' کے ساتھ ملاتے ہیں، ہمیں دو ریکارڈ دیتے ہیں۔

اگر ہم صرف سٹرنگ کا آخری حصہ جانتے ہیں، تو ہم استفسار کو موڑ دیتے ہیں اور اسے اس طرح چلاتے ہیں:

get_details ('%Tyson') سے * کو منتخب کریں؛

آخر میں، اگر ہم سٹرنگ کا پہلا حصہ جانتے ہیں، تو ہم پیٹرن کے بعد '&' علامت شامل کرتے ہیں جیسا کہ درج ذیل میں دکھایا گیا ہے:

get_details ('Tim%') سے * کو منتخب کریں؛

یہ مختلف مثالیں ہیں کہ ٹیبل کو واپس کرنے کے لیے PostgreSQL فنکشن کو کیسے استعمال کیا جائے۔

نتیجہ

PostgreSQL متعدد خصوصیات کے ساتھ ایک طاقتور ڈیٹا بیس ہے۔ فنکشنز بناتے وقت، آپ ان کو ٹیبل واپس کرنے کے لیے سیٹ کر سکتے ہیں جیسا کہ انکیپسولیشن حاصل کرنے سمیت مختلف وجوہات کی بنا پر نتیجہ سیٹ کیا گیا ہے۔ اس پوسٹ نے ایک فنکشن بنانے اور استعمال کرنے کی دو مثالیں پیش کیں جو PostgreSQL میں ٹیبل واپس کرتا ہے۔