Stored Procedure এবং Function SQL Server-এ ব্যবহৃত দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ডেটাবেসের মধ্যে কার্যকরভাবে লজিক সম্পাদন করতে সাহায্য করে। এই দুটি অঙ্গসমূহ ডেটাবেসের কার্যক্রমকে মডুলার করে তোলে, যাতে কোড পুনঃব্যবহারযোগ্য এবং সহজে রক্ষণাবেক্ষণযোগ্য হয়।
Stored Procedure
Stored Procedure হল এক বা একাধিক SQL স্টেটমেন্টের একটি সেট, যা ডেটাবেসে সংরক্ষিত থাকে এবং পরে একাধিকবার পুনরায় চালানো যায়। এটি একটি ব্লক আকারে কোড রাখা হয় যা ডেটাবেসে কার্যকরী অপারেশন সম্পাদন করে।
Stored Procedure তৈরির সিনট্যাক্স:
CREATE PROCEDURE procedure_name
@param1 datatype,
@param2 datatype
AS
BEGIN
-- SQL statements
SELECT column_name FROM table_name WHERE condition;
END;
- procedure_name: স্টোরড প্রসিডিউরের নাম।
- @param1, @param2: ইনপুট প্যারামিটার (যা আপনি কল করার সময় প্রদান করবেন)।
- SQL statements: যে SQL অপারেশনটি আপনি স্টোরড প্রসিডিউরে করবেন।
Stored Procedure উদাহরণ ১:
একটি Stored Procedure তৈরি করা যেটি একটি নির্দিষ্ট Employee এর তথ্য পুনরুদ্ধার করবে।
CREATE PROCEDURE GetEmployeeInfo
@EmployeeID INT
AS
BEGIN
SELECT FirstName, LastName, Department
FROM Employees
WHERE EmployeeID = @EmployeeID;
END;
এখানে:
- @EmployeeID হল ইনপুট প্যারামিটার।
- Employees টেবিল থেকে নির্দিষ্ট EmployeeID এর FirstName, LastName, এবং Department নির্বাচন করা হবে।
Stored Procedure কল করা:
EXEC GetEmployeeInfo @EmployeeID = 101;
এটি EmployeeID = 101 এর জন্য FirstName, LastName, এবং Department ফেরত দেবে।
Function
Function হল একটি SQL কোডের ব্লক যা একটি নির্দিষ্ট কাজ করে এবং একটি মান ফেরত দেয়। এটি একটি নির্দিষ্ট রিটার্ন টাইপ নির্ধারণ করে এবং একটি একক মান ফেরত দেয়।
Function তৈরির সিনট্যাক্স:
CREATE FUNCTION function_name
(@param1 datatype, @param2 datatype)
RETURNS datatype
AS
BEGIN
-- SQL statements
RETURN expression;
END;
- function_name: ফাংশনের নাম।
- @param1, @param2: ইনপুট প্যারামিটার।
- RETURNS datatype: ফাংশনটি কোন ধরনের মান ফেরত দেবে তা নির্ধারণ করা।
- RETURN expression: ফাংশনের রিটার্ন মান।
Function উদাহরণ ১:
এখানে একটি Function তৈরি করা হচ্ছে যা দুইটি সংখ্যার যোগফল ফেরত দিবে।
CREATE FUNCTION AddNumbers
(@Num1 INT, @Num2 INT)
RETURNS INT
AS
BEGIN
RETURN @Num1 + @Num2;
END;
এখানে:
- @Num1 এবং @Num2 হল ইনপুট প্যারামিটার।
- RETURN দিয়ে ফাংশনটি যোগফল হিসেবে একটি INT ফেরত দেয়।
Function কল করা:
SELECT dbo.AddNumbers(10, 20);
এটি 10 এবং 20 যোগফল হিসাবে 30 ফেরত দেবে।
Stored Procedure এবং Function এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Stored Procedure | Function |
|---|---|---|
| রিটার্ন ভ্যালু | রিটার্ন ভ্যালু থাকতে পারে, তবে বাধ্যতামূলক নয় | রিটার্ন ভ্যালু বাধ্যতামূলক |
| একাধিক রিটার্ন | একাধিক রেজাল্ট সেট রিটার্ন করতে পারে | একমাত্র একটি মান রিটার্ন করতে পারে |
| CALL করা | EXEC বা EXECUTE ব্যবহার করে কল করা হয় | SELECT বা FROM এর মধ্যে কল করা হয় |
| ডেটাবেসের অবস্থা পরিবর্তন | ডেটাবেসের অবস্থা পরিবর্তন করতে পারে (INSERT, UPDATE, DELETE) | সাধারণত ডেটাবেসের অবস্থা পরিবর্তন করে না |
| কাস্টম অপারেশন | জটিল কাস্টম অপারেশন করতে ব্যবহার করা হয় | সাধারণভাবে গণনা বা ফলন ফেরত দেওয়ার জন্য ব্যবহৃত হয় |
| ট্রানজেকশন সমর্থন | ট্রানজেকশন সমর্থন করে | ট্রানজেকশন সমর্থন করে না |
সারাংশ
- Stored Procedure এবং Function উভয়ই SQL Server-এ কোডের পুনঃব্যবহারযোগ্য ইউনিট তৈরি করতে ব্যবহৃত হয়, তবে তাদের ব্যবহারের ক্ষেত্রে কিছু পার্থক্য রয়েছে।
- Stored Procedure সাধারণত জটিল অপারেশন বা ডেটাবেস পরিবর্তন পরিচালনার জন্য ব্যবহৃত হয় এবং একাধিক রিটার্ন সেট সরবরাহ করতে পারে।
- Function একটি নির্দিষ্ট রিটার্ন ভ্যালু সরবরাহ করে এবং সাধারণত কোনো একটি বিশেষ মান গণনা বা প্রক্রিয়া করতে ব্যবহৃত হয়।
এই দুটি টুল আপনাকে আপনার ডেটাবেস অপারেশন আরও মডুলার এবং স্কেলেবল করতে সহায়তা করবে।
Read more