একটি টেবিল রিটার্ন করার জন্য PostgreSQL ফাংশন

Ekati Tebila Ritarna Karara Jan Ya Postgresql Phansana



কখনও কখনও, আপনি এমন একটি ফাংশন তৈরি করতে চাইতে পারেন যা ফলাফল সেটকে এনক্যাপসুলেট করতে আপনার PostgreSQL ডাটাবেসে একটি টেবিল প্রদান করে। একটি 'pgSQL' ফাংশন তৈরি করা যা আপনাকে রেকর্ড পুনরুদ্ধার করতে দেয় এবং একটি রিটার্ন কোয়েরি ব্যবহার করে যা একটি টেবিল হিসাবে সেট করা ফলাফল প্রদর্শন করে। এই পোস্টটি আপনাকে একটি PostgreSQL ফাংশন তৈরি করতে গাইড করে যা একটি টেবিল রিটার্ন করে।

একটি টেবিল রিটার্ন করার জন্য কিভাবে একটি PostgreSQL ফাংশন তৈরি করবেন

যখন আপনার একটি PostgreSQL ডাটাবেস থাকে এবং আপনি টেবিল থেকে রেকর্ড চেক করতে চান, তখন পর্যায়ক্রমে একটি ফাংশন ব্যবহার করা সবচেয়ে সুবিধাজনক উপায়, বিশেষ করে একটি PostgreSQL ফাংশন যা ফলাফল সেটে একটি টেবিল প্রদান করে। এইভাবে, আপনি আপনার ফলাফল সেটকে এনক্যাপসুলেট করেন এবং এই পদ্ধতিটি ব্যবহার করে একটি ভাল কোড সংস্থার সাথে সাহায্য করে।

একটি পোস্টগ্রেএসকিউএল ফাংশন তৈরি করতে নিম্নলিখিত সিনট্যাক্স রয়েছে যা একটি টেবিল প্রদান করে:







ফাংশন তৈরি করুন বা প্রতিস্থাপন করুন ফাংশন_নাম(প্যারামিটার_তালিকা)

ফিরে আসে টেবিল (কলাম_তালিকা)

AS $$

রিটার্ন কোয়েরি শুরু করুন(কোয়েরি);

শেষ;

$$ LANGUAGE plpgsql

এই ধরনের ফাংশন তৈরি করার বিষয়ে ভাল জিনিস হল যে এটি আপনাকে আপনার টেবিল থেকে একটি একক মান ফেরত দেওয়ার পরিবর্তে বিভিন্ন 'কলাম_তালিকা' নির্দিষ্ট করতে দেয়। কোন ধাপগুলি অনুসরণ করতে হবে তা বোঝার জন্য আমাদের দুটি উদাহরণ দেওয়া যাক।



উদাহরণ 1: একটি একক ইনপুট দিয়ে কাজ করা

একটি ফাংশন তৈরি করার সময় যা একটি টেবিল প্রদান করে, আপনাকে অবশ্যই রিটার্ন কোয়েরির সাথে ব্যবহার করার জন্য যুক্তি সরবরাহ করতে হবে। যুক্তি একটি প্যাটার্ন বা একটি নির্দিষ্ট ইনপুট হতে পারে. এই উদাহরণটি এমন একটি ক্ষেত্রে দেয় যেখানে আমরা যুক্তি হিসাবে একটি একক ইনপুট ব্যবহার করি।



নিম্নলিখিত 'ছাত্র' টেবিল যা আমরা আমাদের প্রশ্নের জন্য ব্যবহার করব:





নিচের ছবিতে, আমরা 'get_student' নামে একটি ফাংশন তৈরি করি যেটি আর্গুমেন্ট হিসাবে একটি INT নেয়। রিটার্নস টেবিল বিভাগে, আমরা চারটি কলাম সহ একটি টেবিল ফেরত দিই: 'ছাত্র_আইডি', 'ছাত্র_নাম', 'ছাত্র_অনুষদ', এবং 'বর্তমান_স্থিতি'।



এই সমস্ত কলাম আমাদের সংজ্ঞায়িত রিটার্ন কোয়েরি থেকে তাদের মানগুলি পায়। লক্ষ্য করুন যে রিটার্ন কোয়েরি একটি 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 এ একটি টেবিল প্রদান করে।