Stored Procedures তৈরি এবং ব্যবহারের উদাহরণ

Stored Procedures, Functions, এবং Triggers - পিএইচপি মাইএডমিন (PHP MyAdmin) - Database Tutorials

314

Stored Procedure হলো MySQL বা অন্যান্য ডাটাবেস সিস্টেমে সংরক্ষিত একটি SQL কোডের সেট যা একাধিকবার ব্যবহার করা যায়। এটি সাধারণত নির্দিষ্ট কার্যাবলী সম্পন্ন করতে ব্যবহার করা হয় এবং সার্ভারের ভিতরে সংরক্ষিত থাকে। Stored Procedure ডাটাবেস অ্যাপ্লিকেশনের কার্যকারিতা উন্নত করতে সাহায্য করে।


Stored Procedure তৈরি করার ধাপ

১. Stored Procedure তৈরি করা

Stored Procedure তৈরি করতে নিচের CREATE PROCEDURE কমান্ড ব্যবহার করা হয়:

DELIMITER CREATEPROCEDUREprocedurename(param1DataType,param2DataType)BEGIN--SQLSQLSTATEMENTS;END

CREATE PROCEDURE procedure_name (param1 DataType, param2 DataType)
BEGIN
    -- SQL কোড
    SQL_STATEMENTS;
END 

DELIMITER ;
  • procedure_name: Stored Procedure এর নাম।
  • param1, param2: ইনপুট প্যারামিটার (আউটপুট প্যারামিটারও নির্ধারণ করা যেতে পারে)।
  • DataType: প্যারামিটারগুলির ডেটা টাইপ।
  • DELIMITER: নতুন ডেলিমিটার নির্ধারণ করে, যাতে MySQL END কে SQL স্টেটমেন্টের শেষ মনে না করে।

উদাহরণ: Stored Procedure তৈরি করা

উদাহরণ ১: কোনো ডাটাবেসের টেবিল থেকে নির্দিষ্ট ডেটা ফেরত আনা

DELIMITER CREATEPROCEDUREGetUsersByRole(INrolenameVARCHAR(50))BEGINSELECT*FROMusersWHERErole=rolename;END

CREATE PROCEDURE GetUsersByRole(IN role_name VARCHAR(50))
BEGIN
    SELECT * FROM users WHERE role = role_name;
END 

DELIMITER ;

এখানে:

  • GetUsersByRole: Stored Procedure এর নাম।
  • role_name: একটি ইনপুট প্যারামিটার যা users টেবিলের role কলামে ফিল্টার হিসেবে ব্যবহার করা হবে।

উদাহরণ ২: একটি নতুন রেকর্ড যোগ করা

DELIMITER CREATEPROCEDUREAddUser(INusernameVARCHAR(50),INuseremailVARCHAR(100))BEGININSERTINTOusers(name,email)VALUES(username,useremail);END

CREATE PROCEDURE AddUser(IN user_name VARCHAR(50), IN user_email VARCHAR(100))
BEGIN
    INSERT INTO users (name, email) VALUES (user_name, user_email);
END 

DELIMITER ;

Stored Procedure ব্যবহার করা

১. Stored Procedure কল করা

Stored Procedure কল করতে CALL কমান্ড ব্যবহার করা হয়:

উদাহরণ ১: ডেটা ফেরত আনার জন্য
CALL GetUsersByRole('Admin');
উদাহরণ ২: একটি নতুন রেকর্ড যোগ করার জন্য
CALL AddUser('John Doe', 'john.doe@example.com');

Stored Procedure ব্যবহার করার সুবিধা

  1. পুনঃব্যবহারযোগ্য কোড
    একই SQL কোড বারবার লেখার প্রয়োজন নেই। Stored Procedure একবার তৈরি করে এটি পুনরায় ব্যবহার করা যায়।
  2. পারফরম্যান্স উন্নতি
    Stored Procedure একবার কম্পাইল হয় এবং সার্ভারে সংরক্ষিত থাকে। ফলে এটি দ্রুত কার্যকর হয়।
  3. নিরাপত্তা
    Stored Procedure ব্যবহার করলে সরাসরি SQL কোয়েরি চালানোর প্রয়োজন হয় না, যা SQL Injection আক্রমণ থেকে রক্ষা করে।
  4. লোজিক্যাল প্রসেসিং
    Stored Procedure ব্যবহার করে জটিল লজিক্যাল প্রসেসিং সার্ভারের ভিতরে সম্পাদন করা যায়।

Stored Procedure সংশোধন করা

Stored Procedure তৈরি হওয়ার পরে, এটিকে সরাসরি এডিট করা যায় না। এটি পরিবর্তন করতে হলে প্রথমে ডিলিট করতে হবে এবং নতুন করে তৈরি করতে হবে:

১. Stored Procedure ডিলিট করা

DROP PROCEDURE IF EXISTS procedure_name;

২. পুনরায় তৈরি করা

পুনরায় CREATE PROCEDURE কমান্ড ব্যবহার করে নতুন Stored Procedure তৈরি করুন।


Stored Procedure এর বাস্তব উদাহরণ

উদাহরণ: টেবিল আপডেট করা

DELIMITER CREATEPROCEDUREUpdateUserEmail(INuseridINT,INnewemailVARCHAR(100))BEGINUPDATEusersSETemail=newemailWHEREid=userid;END

CREATE PROCEDURE UpdateUserEmail(IN user_id INT, IN new_email VARCHAR(100))
BEGIN
    UPDATE users SET email = new_email WHERE id = user_id;
END 

DELIMITER ;

Stored Procedure কল করা:

CALL UpdateUserEmail(1, 'updated_email@example.com');

Stored Procedure থেকে আউটপুট ফেরত আনা

MySQL-এ OUT প্যারামিটার ব্যবহার করে আউটপুট ফেরত আনা যায়।

উদাহরণ: আউটপুট প্যারামিটার ব্যবহার

DELIMITER CREATEPROCEDUREGetUserCount(OUTtotalusersINT)BEGINSELECTCOUNT(*)INTOtotalusersFROMusers;END

CREATE PROCEDURE GetUserCount(OUT total_users INT)
BEGIN
    SELECT COUNT(*) INTO total_users FROM users;
END 

DELIMITER ;

Stored Procedure কল করা:

CALL GetUserCount(@total);
SELECT @total;

সারাংশ

Stored Procedure ডেটাবেস ম্যানেজমেন্ট এবং ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ উপাদান। এটি কোড পুনঃব্যবহার, ডেটা সুরক্ষা, এবং পারফরম্যান্স উন্নত করতে সাহায্য করে। SQL-এর জটিল কার্যাবলী সহজ করতে এবং ডাটাবেস অ্যাপ্লিকেশন উন্নত করতে Stored Procedure ব্যবহৃত হয়। উপরে বর্ণিত উদাহরণ এবং ধাপগুলো অনুসরণ করে আপনি MySQL-এ Stored Procedure তৈরি এবং ব্যবহার করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...