পোস্টগ্রেএসকিউএল-এ কীভাবে সঞ্চিত পদ্ধতি তৈরি করবেন

Postagre Esaki U Ela E Kibhabe Sancita Pad Dhati Tairi Karabena



PostgreSQL এর সাহায্যে, সঞ্চিত পদ্ধতিগুলি তৈরি করা সম্ভব যা বিভিন্ন রুটিন সংজ্ঞায়িত করে যা কল করার সময় কার্যকর করা উচিত। এই রুটিনগুলি এসকিউএল স্টেটমেন্ট নিয়ে গঠিত যা আপনার ডাটাবেসের সংজ্ঞায়িত কাজগুলি সম্পাদন করে। উদাহরণস্বরূপ, আপনি একটি সঞ্চিত পদ্ধতি তৈরি করতে পারেন যা আপনার টেবিলের মান আপডেট করে যখন আপনি এটিকে কল করেন।

সংরক্ষিত পদ্ধতিগুলি ডাটাবেস অপ্টিমাইজেশান এবং পুনঃব্যবহারযোগ্যতা বৃদ্ধিতে সহায়তা করে। একই ক্যোয়ারী চালানোর পরিবর্তে, আপনি একটি সঞ্চিত পদ্ধতি হিসাবে কাজটি তৈরি করতে পারেন যা আপনি যখনই প্রয়োজন হবে কল করবেন। আপনি এই পোস্টের শেষে সঞ্চিত পদ্ধতি সম্পর্কে সবকিছু শিখবেন।

PostgreSQL এ সঞ্চিত পদ্ধতির সাথে কাজ করা

একজন PostgreSQL ব্যবহারকারী হিসেবে, আপনি হয়তো লক্ষ্য করেছেন যে PostgreSQL ফাংশন লেনদেন সম্পাদন করে না। যদিও একটি লেনদেন তৈরি করা সম্ভব, এটি করা বা এটিকে আগের অবস্থায় ফিরিয়ে আনা সম্ভব নয়। যাইহোক, এই সীমাবদ্ধতাগুলি সঞ্চিত পদ্ধতি ব্যবহার করে বাইপাস করা হয়।







PostgreSQL এ একটি সঞ্চিত পদ্ধতি তৈরি করার জন্য এখানে মৌলিক সিনট্যাক্স রয়েছে:



প্রসিডিউর তৈরি করুন বা প্রতিস্থাপন করুন পদ্ধতি_নাম(

প্যারামিটার[গুলি] ডেটা_টাইপ

)

LANGUAGE plpsql;

AS $$

ঘোষণা করুন

variables_if_any data_type

শুরু

যুক্তি

শেষ;

$$

প্রদত্ত সিনট্যাক্স থেকে লক্ষ্য করার মূল বিষয়গুলি হল 'প্রক্রিয়া_নাম' যা আপনি সঞ্চিত পদ্ধতির জন্য ব্যবহার করবেন এমন নাম, আপনি যে প্যারামিটারগুলি অন্তর্ভুক্ত করতে চান এবং তাদের ডেটা প্রকারগুলি এবং যুক্তি যা মূলত SQL স্টেটমেন্ট।



পোস্টগ্রেএসকিউএল-এ কীভাবে সংরক্ষিত পদ্ধতি তৈরি করতে হয় তা বোঝার জন্য তিনটি উদাহরণ দেওয়া যাক।





উদাহরণ 1: একটি সংখ্যার বর্গ গণনা করার জন্য একটি সংরক্ষিত পদ্ধতি

আমাদের প্রথম উদাহরণের জন্য, আমরা একটি সংরক্ষিত পদ্ধতি তৈরি করি যা টার্মিনালে আউটপুট প্রিন্ট করার উপায় হিসাবে 'RAISE NOTICE' বিবৃতি ব্যবহার করে। সঞ্চিত পদ্ধতিটি পূর্ণসংখ্যার মান নেয় যা আপনি এটিকে কল করার সময় দেন এবং এর বর্গ গণনা করুন।

এখানে আমরা কিভাবে সংরক্ষিত পদ্ধতি তৈরি করি:



আমরা আমাদের প্যারামিটারটিকে 'num1' হিসাবে নাম দিয়েছি এবং এটি একটি পূর্ণসংখ্যা। লজিক অংশের জন্য, আমরা সংজ্ঞায়িত করি কিভাবে এটি 'num1' এর বর্গ পায় এবং এটিকে বর্গ পরিবর্তনশীল হিসাবে সংরক্ষণ করে। যখন আমরা কমান্ডটি কার্যকর করি, তখন আমরা 'প্রক্রিয়া তৈরি করুন' আউটপুট পাই যা নিশ্চিত করে যে আমরা সঞ্চিত পদ্ধতিটি সফলভাবে তৈরি করতে পেরেছি।

পরবর্তী কাজ হল পদ্ধতিটিকে কল করা এবং প্রত্যাশিত যুক্তি দেওয়া।

কল পদ্ধতি_নাম(আর্গুমেন্ট);

আপনি CALL আউটপুট পাবেন যা দেখায় যে সঞ্চিত পদ্ধতিটি কার্যকর করা হয়েছে, এবং আমরা প্রত্যাশিত আউটপুট পাচ্ছি যা এই ক্ষেত্রে, আমাদের যুক্ত করা যুক্তির বর্গক্ষেত্র।

উদাহরণ 2: একটি টেবিল এন্ট্রিতে মান সন্নিবেশ করার জন্য একটি সংরক্ষিত পদ্ধতি

নিম্নলিখিত দুটি উদাহরণ দেখায় কিভাবে একটি সংরক্ষিত পদ্ধতি তৈরি করতে হয় যা একটি ডাটাবেস টেবিলের সাথে কাজ করে। আসুন দ্রুত 'ছাত্রদের' টেবিল তৈরি করি যার সাথে আমরা কাজ করব।

এই উদাহরণের জন্য, আমরা একটি সংরক্ষিত পদ্ধতি তৈরি করি যা একজন ব্যবহারকারীকে নতুন তৈরি টেবিলে মান সন্নিবেশ করতে দেয়। আমরা যখন সঞ্চিত পদ্ধতিতে কল করি তখন আমরা আর্গুমেন্ট হিসেবে যে প্যারামিটার যোগ করার আশা করি সেগুলিকে আমরা কীভাবে নির্দিষ্ট করি তা লক্ষ্য করুন। অধিকন্তু, আমরা যুক্তি সংজ্ঞায়িত করি যা যুক্ত আর্গুমেন্ট গ্রহণ করে এবং 'ছাত্রদের' টেবিলে একটি INSERT SQL বিবৃতি কার্যকর করে।

আমরা নিম্নলিখিত কমান্ডটি চালিয়ে উপলব্ধ সঞ্চিত পদ্ধতিগুলি পরীক্ষা করতে পারি:

\df

প্রথম সংরক্ষিত পদ্ধতি যা আমরা নিম্নলিখিত আউটপুট থেকে দেখতে পাচ্ছি তা হল 'add_student' যা আমরা আগে তৈরি করেছি।

এখন, এটি চালানোর জন্য সঞ্চিত পদ্ধতিটি কল করা যাক। নীচের চিত্রটি দেখায় যে কীভাবে আমাদের একটি খালি টেবিল আছে, তবে আমরা প্রথম ছাত্রকে যোগ করার জন্য সঞ্চিত পদ্ধতিকে বলেছি:

যদি আমরা আমাদের টেবিলে মানগুলি তালিকাভুক্ত করি, তাহলে লক্ষ্য করুন যে কল পদ্ধতি কমান্ডের সাথে আমরা যে আর্গুমেন্টগুলি যোগ করেছি তা আমাদের টেবিলে আমাদের প্রথম ছাত্রের মান। এইভাবে আপনি একটি টেবিলে মান সন্নিবেশ করার জন্য একটি সঞ্চিত পদ্ধতি তৈরি করেন।

মনে রাখবেন যে সংরক্ষিত পদ্ধতি তৈরি করার সময়, আপনার নির্দিষ্ট করা প্যারামিটারগুলি অবশ্যই ত্রুটিগুলি এড়াতে আপনার টেবিলে যা আশা করা হচ্ছে তার সাথে মেলে। তাছাড়া, ডাটা টাইপ অবশ্যই মিলবে।

উদাহরণ 3: একটি টেবিল এন্ট্রি আপডেট করার জন্য একটি সংরক্ষিত পদ্ধতি

এগিয়ে চলুন, আসুন আরেকটি সঞ্চিত পদ্ধতি তৈরি করি যা একটি টেবিল এন্ট্রি আপডেট করে। আপনি যদি আমাদের টেবিলে মানগুলি আপডেট করার একটি দ্রুত উপায় পেতে চান তবে আপনি নিম্নরূপ একটি আপডেট সংরক্ষিত পদ্ধতি তৈরি করতে পারেন:

WHERE কীওয়ার্ড এবং SET কীওয়ার্ড ব্যবহার করে নতুন মান ব্যবহার করে আপনি কোন কলামটি আপডেট করতে চান তা নির্দিষ্ট করুন। তারপর পরিবর্তনগুলি অব্যাহত রাখতে আপনাকে অবশ্যই COMMIT কীওয়ার্ড যোগ করতে হবে।

আসুন আপডেট সংরক্ষিত পদ্ধতিতে কল করি এবং প্রত্যাশিত আর্গুমেন্ট যোগ করি: 'student_id' এবং নতুন কোর্স।

যদি আমরা আমাদের টেবিলে এন্ট্রিগুলি তালিকাভুক্ত করি, আমরা যাচাই করতে পারি যে আমাদের লক্ষ্য করা নির্দিষ্ট শিক্ষার্থীর জন্য আমাদের কাছে আপডেট করা কোর্স আছে। এইভাবে একটি আপডেট সংরক্ষিত পদ্ধতি কাজ করে।

উপসংহার

আপনি PostgreSQL-এ যেকোনো সঞ্চিত পদ্ধতি তৈরি করতে পারেন। আপনাকে শুধুমাত্র অনুসরণ করার জন্য সিনট্যাক্স বুঝতে হবে এবং তারপর সঞ্চিত পদ্ধতির জন্য আপনার যুক্তি সংজ্ঞায়িত করতে হবে। সেখান থেকে, সঞ্চিত পদ্ধতিতে কল করুন এবং যাচাই করুন যে এটি প্রত্যাশিত হিসাবে কার্যকর হয়েছে। এই পোস্টটি PostgreSQL-এ সঞ্চিত পদ্ধতি সম্পর্কে ব্যাখ্যা করেছে এবং সেগুলি কীভাবে তৈরি করতে হয় তার উদাহরণ প্রদান করেছে।