MariaDB-তে Stored Procedure এবং Function ডেটাবেসে নির্দিষ্ট কাজ করার জন্য ব্যবহার করা হয়। Stored Procedure সাধারণত একাধিক SQL স্টেটমেন্টের সঙ্কলন হয়, যা একবার এক্সিকিউট করার পরে প্রয়োজনীয় কাজগুলো সম্পন্ন করে। অন্যদিকে, Function হল একটি কাস্টম SQL ফাংশন যা কোনো নির্দিষ্ট মান রিটার্ন করে।
এখানে, আমরা Stored Procedure এবং Function তৈরির উদাহরণ দেখবো, যার মাধ্যমে আপনি এই দুটি গুরুত্বপূর্ণ ফিচার কীভাবে ব্যবহার করতে পারেন তা বুঝতে পারবেন।
১. Stored Procedure তৈরি
Stored Procedure সাধারণত একাধিক SQL স্টেটমেন্ট বা কাস্টম লজিক একত্রিত করার জন্য ব্যবহৃত হয়, যা বারবার চালানো যায়।
১.১. Stored Procedure উদাহরণ
ধরা যাক, আপনার একটি Employees টেবিল রয়েছে এবং আপনি একটি Stored Procedure তৈরি করতে চান যা একটি নির্দিষ্ট department-এর সমস্ত employee এর তথ্য রিটার্ন করবে।
Employees টেবিলের গঠন কিছুটা এরকম হতে পারে:
CREATE TABLE Employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(100),
salary DECIMAL(10, 2)
);
এখন, একটি Stored Procedure তৈরি করুন যা department অনুসারে কর্মীদের তালিকা ফিরিয়ে দেবে।
DELIMITER
DELIMITER ;
ব্যাখ্যা:
DELIMITERব্যবহার করে নতুন ডেলিমিটার সেট করা হয়।CREATE PROCEDURE: নতুন একটি Stored Procedure তৈরি করতে ব্যবহৃত হয়।IN dept_name VARCHAR(100): এটি ইনপুট প্যারামিটার হিসাবেdept_nameগ্রহন করে।SELECTস্টেটমেন্টের মাধ্যমে নির্দিষ্ট department-এর কর্মীদের তথ্য ফেরত দেওয়া হয়।
১.২. Stored Procedure কল করা
এখন, যদি আপনি HR ডিপার্টমেন্টের কর্মীদের তালিকা দেখতে চান, তবে আপনি এইভাবে Stored Procedure কল করতে পারেন:
CALL GetEmployeesByDepartment('HR');
২. Function তৈরি
MariaDB-তে Function একটি কাস্টম ফাংশন, যা নির্দিষ্ট মান রিটার্ন করে। সাধারণত এটি SQL কুয়েরি বা অ্যালগোরিদমের উপর ভিত্তি করে গণনা বা অন্যান্য কাজ করতে ব্যবহৃত হয়।
২.১. Function উদাহরণ
ধরা যাক, আপনার Employees টেবিল আছে এবং আপনি একটি Function তৈরি করতে চান যা কোনো কর্মীর salary এবং bonus যোগ করে মোট আয় হিসাব করবে।
DELIMITER
DELIMITER ;
ব্যাখ্যা:
CREATE FUNCTION: একটি ফাংশন তৈরি করতে ব্যবহৃত হয়।RETURNS DECIMAL(10, 2): এটি ফাংশনের আউটপুট টাইপ নির্দেশ করে, যা এই উদাহরণে DECIMAL(10, 2)।DECLARE: ফাংশনের মধ্যে লোকাল ভ্যারিয়েবল ঘোষণা করা হয়।SELECT INTO: নির্দিষ্ট কর্মীর salary এবং bonus মান নেওয়া হয়।RETURN: ফাংশনের ফলাফল হিসেবে total_salary রিটার্ন করা হয়।
২.২. Function কল করা
এখন, আপনি যদি কোনো কর্মীর total salary দেখতে চান, তাহলে আপনি এইভাবে Function কল করতে পারবেন:
SELECT CalculateTotalSalary(1);
এখানে, 1 হল কর্মীর ID যাকে আপনি Total Salary হিসাব করতে চান।
৩. Stored Procedure এবং Function এর মধ্যে পার্থক্য
| বিষয় | Stored Procedure | Function |
|---|---|---|
| রিটার্ন ভ্যালু | স্টোরড প্রোসিডিউর সাধারণত কোনো ভ্যালু রিটার্ন করে না। | ফাংশন অবশ্যই একটি ভ্যালু রিটার্ন করে। |
| ব্যবহার | একটি নির্দিষ্ট কাজ বা কোয়েরি সম্পাদন করতে ব্যবহৃত হয়। | সাধারণত একটি মান হিসাব বা প্রক্রিয়া সম্পাদন করতে ব্যবহৃত হয়। |
| CALL করার পদ্ধতি | CALL কমান্ড ব্যবহার করে কল করা হয়। | SELECT কমান্ডের মধ্যে কল করা হয়। |
| অপারেশন | একাধিক SQL স্টেটমেন্ট চালাতে পারে। | একটি নির্দিষ্ট মান রিটার্ন করার জন্য উপযুক্ত। |
সারাংশ
MariaDB-তে Stored Procedure এবং Function দুটি শক্তিশালী ফিচার, যা ডেটাবেসের নির্দিষ্ট কাজগুলো সংকলন করে। Stored Procedure সাধারণত একাধিক SQL কোয়েরি বা লজিক একত্রিত করে কাজ সম্পাদন করে, যখন Function একটি নির্দিষ্ট মান রিটার্ন করে। এই ফিচারগুলো MariaDB-তে ডেটাবেস পরিচালনা আরও সুবিধাজনক এবং দক্ষ করে তোলে।
Read more