Stored Procedures হল SQL কোডের একটি সংগ্রহ, যা ডেটাবেজে সংরক্ষিত থাকে এবং পরে একাধিকবার ব্যবহার করা যায়। এটি SQL কুয়েরি বা লজিকের পুনঃব্যবহারযোগ্য ব্লক যা ডেটাবেজে রাখা হয় এবং যখন প্রয়োজন তখন কল করা হয়। Stored Procedures ব্যবহারের মাধ্যমে ডেটাবেজের কাজগুলো আরও কার্যকরী, দ্রুত এবং নিরাপদ করা সম্ভব।
H2 ডেটাবেজে Stored Procedures ব্যবহার করা সহজ এবং এটি SQL কুয়েরি বা অপারেশনগুলোকে পুনঃব্যবহারযোগ্য, কার্যকরী এবং মডুলার করে তোলে।
H2 ডেটাবেজে একটি Stored Procedure তৈরি করতে CREATE PROCEDURE
কমান্ড ব্যবহার করা হয়।
CREATE PROCEDURE procedure_name (parameters)
LANGUAGE SQL
AS
BEGIN
-- SQL কোড বা লজিক
END;
ধরা যাক, আপনার একটি students
টেবিল আছে এবং আপনি এই টেবিলের সকল ছাত্রদের নাম এবং গ্রেড দেখতে চান। আপনি এই কাজটি করতে একটি Stored Procedure তৈরি করতে পারেন।
CREATE PROCEDURE getAllStudents()
LANGUAGE SQL
AS
BEGIN
SELECT name, grade
FROM students;
END;
এই Stored Procedure-টি যখন কল করা হবে, তখন এটি students
টেবিল থেকে ছাত্রদের নাম এবং গ্রেড রিটার্ন করবে।
CALL getAllStudents();
এটি students
টেবিল থেকে ছাত্রদের নাম এবং গ্রেড বের করবে।
ধরা যাক, আপনি একটি students
টেবিলের মধ্যে শুধুমাত্র নির্দিষ্ট গ্রেডের ছাত্রদের তথ্য দেখতে চান। এর জন্য আপনি প্যারামিটার সহ একটি Stored Procedure তৈরি করতে পারেন।
CREATE PROCEDURE getStudentsByGrade(grade_param VARCHAR)
LANGUAGE SQL
AS
BEGIN
SELECT name, age, grade
FROM students
WHERE grade = grade_param;
END;
এখানে, grade_param
হল প্যারামিটার যা প্রোসিজার কল করার সময় পাস করা হবে। এই প্রোসিজারটি শুধুমাত্র সেই ছাত্রদের দেখাবে যাদের গ্রেড প্যারামিটার হিসাবে পাস করা হবে।
CALL getStudentsByGrade('A');
এটি সমস্ত ছাত্রদের রিটার্ন করবে যাদের গ্রেড 'A'।
ধরা যাক, আপনি ছাত্রদের তথ্য ইনসার্ট করতে একটি Stored Procedure তৈরি করতে চান। আপনি একটি students
টেবিলের জন্য INSERT
অপারেশন করতে পারেন।
CREATE PROCEDURE insertStudent(name_param VARCHAR, age_param INT, grade_param VARCHAR)
LANGUAGE SQL
AS
BEGIN
INSERT INTO students (name, age, grade)
VALUES (name_param, age_param, grade_param);
END;
এই প্রোসিজারটি একটি নতুন ছাত্রের নাম, বয়স এবং গ্রেড টেবিলে ইনসার্ট করবে।
CALL insertStudent('John Doe', 22, 'B');
এটি students
টেবিলে একটি নতুন ছাত্রের তথ্য ইনসার্ট করবে।
CREATE PROCEDURE updateStudentGrade(id_param INT, new_grade_param VARCHAR)
LANGUAGE SQL
AS
BEGIN
UPDATE students
SET grade = new_grade_param
WHERE student_id = id_param;
END;
এই প্রোসিজারটি একটি নির্দিষ্ট ছাত্রের গ্রেড আপডেট করবে।
CALL updateStudentGrade(1, 'A');
এটি student_id = 1
এর গ্রেড আপডেট করে 'A' করবে।
CREATE PROCEDURE deleteStudent(id_param INT)
LANGUAGE SQL
AS
BEGIN
DELETE FROM students
WHERE student_id = id_param;
END;
এই প্রোসিজারটি নির্দিষ্ট ছাত্রের রেকর্ড ডিলিট করবে।
CALL deleteStudent(1);
এটি student_id = 1
এর ছাত্রের তথ্য মুছে ফেলবে।
H2 ডেটাবেজে Stored Procedures ব্যবহার ডেটাবেজ পরিচালনার এবং ডেটা ম্যানিপুলেশনের একটি শক্তিশালী উপায়। এটি ডেটাবেজ কুয়েরি বা অপারেশনগুলিকে পুনঃব্যবহারযোগ্য এবং নিরাপদ করে তোলে, এবং ডেটাবেজের কর্মক্ষমতা বাড়ানোর জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে।
common.read_more