Stored Procedures এবং Functions ব্যবহার

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 Console Web Interface |
288
288

Stored Procedures এবং Functions হল ডেটাবেজের মধ্যে প্রি-ডিফাইনড SQL কোড ব্লক, যেগুলি একটি নির্দিষ্ট কাজ বা লজিক সম্পাদন করার জন্য তৈরি করা হয়। এগুলি SQL কোডকে ম্যানেজমেন্ট ও পুনরায় ব্যবহারযোগ্য করার জন্য ডেটাবেজে সংরক্ষিত থাকে। H2 Database-এ Stored Procedures এবং Functions ব্যবহার করা সহজ এবং এতে উচ্চ কার্যক্ষমতা নিশ্চিত হয়।


Stored Procedure কী?

Stored Procedure হল একটি SQL কোড ব্লক যা ডেটাবেজে সংরক্ষিত থাকে এবং একাধিক SQL অপারেশন সম্পাদন করতে সক্ষম। এটি ডেটাবেজ সার্ভারেই থাকে এবং EXECUTE কমান্ডের মাধ্যমে চালানো হয়। Stored Procedure-এ সাধারণত একাধিক SQL কুয়েরি, লজিক, শর্তাবলী এবং কন্ডিশনস থাকতে পারে।

Stored Procedure তৈরি করা

H2 ডেটাবেজে Stored Procedure তৈরি করার জন্য CREATE PROCEDURE স্টেটমেন্ট ব্যবহার করতে হয়।

CREATE ALIAS procedure_name FOR "package_name.procedure_name";

এখানে, আপনি CREATE PROCEDURE দিয়ে নতুন procedure তৈরি করতে পারেন। নিচে একটি উদাহরণ দেওয়া হল:

CREATE PROCEDURE AddUser (id INT, name VARCHAR)
BEGIN
    INSERT INTO Users (id, name) VALUES (?, ?);
END;

এই স্টোরড প্রোসিজারের মাধ্যমে Users টেবিলে নতুন ইউজার যোগ করা হবে। id এবং name প্যারামিটার হিসেবে গ্রহণ করা হবে।

Stored Procedure কল করা

একবার Stored Procedure তৈরি করার পরে, এটি EXECUTE বা CALL কিওয়ার্ডের মাধ্যমে কল করা যায়। উদাহরণ:

CALL AddUser(1, 'John Doe');

এটি Users টেবিলে id = 1 এবং name = 'John Doe' সহ একটি নতুন রেকর্ড ইনসার্ট করবে।


Function কী?

Function একটি SQL কোড ব্লক, যা কোনও ডেটাবেজ অপারেশন সম্পাদন করে এবং একটি ফলাফল (রিটার্ন ভ্যালু) প্রদান করে। Stored Procedures থেকে ফাংশন আলাদা, কারণ ফাংশন সাধারণত একটি মান রিটার্ন করে এবং এটি SQL কুয়েরির অংশ হিসেবে ব্যবহৃত হতে পারে।

Function তৈরি করা

H2 ডেটাবেজে Function তৈরি করতে CREATE FUNCTION ব্যবহার করা হয়। উদাহরণ:

CREATE FUNCTION GetUserName (id INT) RETURNS VARCHAR AS
BEGIN
    DECLARE name VARCHAR;
    SELECT name INTO name FROM Users WHERE id = id;
    RETURN name;
END;

এখানে, GetUserName ফাংশন Users টেবিল থেকে id অনুসারে name রিটার্ন করবে।

Function কল করা

ফাংশন কল করতে, এটি একটি SQL কুয়েরির অংশ হিসেবে ব্যবহার করা যেতে পারে:

SELECT GetUserName(1);

এটি Users টেবিল থেকে id = 1 এর জন্য name রিটার্ন করবে।


Stored Procedures এবং Functions এর মধ্যে পার্থক্য

পার্থক্যStored ProcedureFunction
রিটার্ন ভ্যালুরিটার্ন ভ্যালু থাকতে পারে নারিটার্ন ভ্যালু থাকে
ব্যবহারএকাধিক SQL অপারেশন সম্পাদন করতে ব্যবহৃতএকটি মান রিটার্ন করতে ব্যবহৃত
SQL কুয়েরির অংশSQL কুয়েরির অংশ হতে পারে নাSQL কুয়েরির অংশ হতে পারে
কল করার পদ্ধতিCALL বা EXECUTE দিয়ে কল করা হয়সাধারণত SELECT বা INSERT কুয়েরি-তে ব্যবহার করা হয়

Stored Procedures এবং Functions এর সুবিধা

  1. কোড পুনরায় ব্যবহারযোগ্যতা:
    Stored Procedures এবং Functions কোড পুনরায় ব্যবহারযোগ্য করে তোলে, কারণ একবার তৈরি করা হলে, এগুলি অনেকবার ব্যবহার করা যায়।
  2. পারফরম্যান্স উন্নতি:
    Stored Procedures এবং Functions ডেটাবেজে সঞ্চিত হওয়ার কারণে, বার বার এক্সিকিউট হতে সময় কম লাগে এবং সার্ভার থেকে বার বার কোড পাঠানোর প্রয়োজন হয় না।
  3. ডেটাবেজের নিরাপত্তা:
    আপনি Stored Procedures বা Functions তৈরি করে ব্যবহারকারীদের সরাসরি SQL কুয়েরি চালানোর অনুমতি না দিয়ে শুধুমাত্র নির্দিষ্ট অ্যাক্সেস প্রদান করতে পারেন।
  4. ক্লিন এবং রিডেবল কোড:
    একাধিক SQL কুয়েরি বা লজিক ফাংশন বা স্টোরড প্রোসিজারে রাখলে কোডটি পরিষ্কার ও সহজে বজায় রাখা যায়।

উদাহরণ: Stored Procedure এবং Function ব্যবহার

১. Stored Procedure ব্যবহার উদাহরণ

এখানে একটি Stored Procedure তৈরি করা হচ্ছে যা Users টেবিলে নতুন ইউজার যোগ করবে:

CREATE PROCEDURE AddUser (id INT, name VARCHAR)
BEGIN
    INSERT INTO Users (id, name) VALUES (?, ?);
END;

এর পরে, আপনি এটি কল করতে পারেন:

CALL AddUser(1, 'John Doe');

২. Function ব্যবহার উদাহরণ

এখানে একটি Function তৈরি করা হচ্ছে যা Users টেবিল থেকে ইউজারের নাম ফেরত দেবে:

CREATE FUNCTION GetUserName (id INT) RETURNS VARCHAR AS
BEGIN
    DECLARE name VARCHAR;
    SELECT name INTO name FROM Users WHERE id = id;
    RETURN name;
END;

এটি কল করা হবে এমনভাবে:

SELECT GetUserName(1);

এটি id = 1 এর জন্য নাম রিটার্ন করবে।


উপসংহার

H2 Database-এ Stored Procedures এবং Functions ব্যবহারের মাধ্যমে আপনি ডেটাবেজ অপারেশনগুলোকে আরও মডুলার, পুনরায় ব্যবহারযোগ্য এবং কার্যকরী করতে পারেন। এগুলি ডেটাবেজের পারফরম্যান্স উন্নত করতে সাহায্য করে এবং কোডের রিডেবিলিটি বাড়ায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion