Stored Procedure হলো MySQL বা অন্যান্য ডাটাবেস সিস্টেমে সংরক্ষিত একটি SQL কোডের সেট যা একাধিকবার ব্যবহার করা যায়। এটি সাধারণত নির্দিষ্ট কার্যাবলী সম্পন্ন করতে ব্যবহার করা হয় এবং সার্ভারের ভিতরে সংরক্ষিত থাকে। Stored Procedure ডাটাবেস অ্যাপ্লিকেশনের কার্যকারিতা উন্নত করতে সাহায্য করে।
Stored Procedure তৈরি করার ধাপ
১. Stored Procedure তৈরি করা
Stored Procedure তৈরি করতে নিচের CREATE PROCEDURE কমান্ড ব্যবহার করা হয়:
DELIMITER
DELIMITER ;
- procedure_name: Stored Procedure এর নাম।
- param1, param2: ইনপুট প্যারামিটার (আউটপুট প্যারামিটারও নির্ধারণ করা যেতে পারে)।
- DataType: প্যারামিটারগুলির ডেটা টাইপ।
- DELIMITER: নতুন ডেলিমিটার নির্ধারণ করে, যাতে MySQL
ENDকে SQL স্টেটমেন্টের শেষ মনে না করে।
উদাহরণ: Stored Procedure তৈরি করা
উদাহরণ ১: কোনো ডাটাবেসের টেবিল থেকে নির্দিষ্ট ডেটা ফেরত আনা
DELIMITER
DELIMITER ;
এখানে:
- GetUsersByRole: Stored Procedure এর নাম।
- role_name: একটি ইনপুট প্যারামিটার যা
usersটেবিলেরroleকলামে ফিল্টার হিসেবে ব্যবহার করা হবে।
উদাহরণ ২: একটি নতুন রেকর্ড যোগ করা
DELIMITER
DELIMITER ;
Stored Procedure ব্যবহার করা
১. Stored Procedure কল করা
Stored Procedure কল করতে CALL কমান্ড ব্যবহার করা হয়:
উদাহরণ ১: ডেটা ফেরত আনার জন্য
CALL GetUsersByRole('Admin');
উদাহরণ ২: একটি নতুন রেকর্ড যোগ করার জন্য
CALL AddUser('John Doe', 'john.doe@example.com');
Stored Procedure ব্যবহার করার সুবিধা
- পুনঃব্যবহারযোগ্য কোড
একই SQL কোড বারবার লেখার প্রয়োজন নেই। Stored Procedure একবার তৈরি করে এটি পুনরায় ব্যবহার করা যায়। - পারফরম্যান্স উন্নতি
Stored Procedure একবার কম্পাইল হয় এবং সার্ভারে সংরক্ষিত থাকে। ফলে এটি দ্রুত কার্যকর হয়। - নিরাপত্তা
Stored Procedure ব্যবহার করলে সরাসরি SQL কোয়েরি চালানোর প্রয়োজন হয় না, যা SQL Injection আক্রমণ থেকে রক্ষা করে। - লোজিক্যাল প্রসেসিং
Stored Procedure ব্যবহার করে জটিল লজিক্যাল প্রসেসিং সার্ভারের ভিতরে সম্পাদন করা যায়।
Stored Procedure সংশোধন করা
Stored Procedure তৈরি হওয়ার পরে, এটিকে সরাসরি এডিট করা যায় না। এটি পরিবর্তন করতে হলে প্রথমে ডিলিট করতে হবে এবং নতুন করে তৈরি করতে হবে:
১. Stored Procedure ডিলিট করা
DROP PROCEDURE IF EXISTS procedure_name;
২. পুনরায় তৈরি করা
পুনরায় CREATE PROCEDURE কমান্ড ব্যবহার করে নতুন Stored Procedure তৈরি করুন।
Stored Procedure এর বাস্তব উদাহরণ
উদাহরণ: টেবিল আপডেট করা
DELIMITER
DELIMITER ;
Stored Procedure কল করা:
CALL UpdateUserEmail(1, 'updated_email@example.com');
Stored Procedure থেকে আউটপুট ফেরত আনা
MySQL-এ OUT প্যারামিটার ব্যবহার করে আউটপুট ফেরত আনা যায়।
উদাহরণ: আউটপুট প্যারামিটার ব্যবহার
DELIMITER
DELIMITER ;
Stored Procedure কল করা:
CALL GetUserCount(@total);
SELECT @total;
সারাংশ
Stored Procedure ডেটাবেস ম্যানেজমেন্ট এবং ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ উপাদান। এটি কোড পুনঃব্যবহার, ডেটা সুরক্ষা, এবং পারফরম্যান্স উন্নত করতে সাহায্য করে। SQL-এর জটিল কার্যাবলী সহজ করতে এবং ডাটাবেস অ্যাপ্লিকেশন উন্নত করতে Stored Procedure ব্যবহৃত হয়। উপরে বর্ণিত উদাহরণ এবং ধাপগুলো অনুসরণ করে আপনি MySQL-এ Stored Procedure তৈরি এবং ব্যবহার করতে পারবেন।
Read more