Function (ফাংশন) হলো ডেটাবেসে একটি অবজেক্ট যেটি একাধিক স্টেটমেন্টের সেট থেকে গঠিত এবং পুনরায় ব্যবহারের উদ্দেশ্যে তৈরি করা হয়। SQL Server-এ ফাংশনগুলো সংরক্ষিত থাকে এবং আপনি প্যারামিটার পাস করতে পারেন সেইসাথে রিটার্ন ভ্যালুও পেতে পারেন।
এই নিবন্ধে SQL Server-এ ফাংশন তৈরি এবং ডিলিট করার সিনট্যাক্স এবং উদাহরণ দেওয়া হয়েছে।
CREATE FUNCTION (ফাংশন তৈরি)
সিনট্যাক্স
SQL Server-এ ফাংশন তৈরি করার জন্য নিচের সিনট্যাক্স ব্যবহার করুন:
CREATE FUNCTION [schema_name.] function_name
([@parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]
, @parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]]
)
RETURNS return_datatype
[WITH {ENCRYPTION
| SCHEMABINDING
| RETURNS NULL ON NULL INPUT
| CALLED ON NULL INPUT
| EXECUTE AS Clause}]
[AS]
BEGIN
[declaration_section]
executable_section
RETURN return_value
END;
প্যারামিটার:
- schema_name: ফাংশন 붙어 স্কিমা (schema) নাম।
- function_name: ফাংশনকে দেওয়া নাম।
- @parameter: ফাংশনে পাস করা এক বা একাধিক প্যারামিটার।
- type_schema_name: স্কিমার ডেটা টাইপ (যদি থাকে)।
- datatype: @parameter-এর ডেটা টাইপ।
- default: @parameter-এ এসাইন করা ডিফল্ট মান।
- READONLY: @parameter ফাংশন দ্বারা ওভাররাইট করা যাবে না।
- return_datatype: রিটার্ন ভ্যালুর ডেটা টাইপ।
- ENCRYPTION: ফাংশনের সোর্স কোড সিস্টেমে টেক্সট হিসেবে সংরক্ষিত হবে না।
- SCHEMABINDING: অবজেক্ট 編集 না হয় যা ফাংশনকে প্রভাবিত করে তা নিশ্চিত করে।
- RETURNS NULL ON NULL INPUT: যেকোনো প্যারামিটার NULL হলে ফাংশন NULL ফেরত দেবে।
- CALLED ON NULL INPUT: প্যারামিটার NULL হলেও ফাংশন এক্সিকিউট হবে।
- EXECUTE AS clause: ফাংশন এক্সিকিউশনের সিকিউরিটি কনটেক্সট নির্দিষ্ট করে।
- return_value: ফেরত দেওয়া মান।
উদাহরণ
CREATE FUNCTION fuNhanvien
(@nhanvien_id INT)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @nhanvien_name VARCHAR(50);
IF @nhanvien_id < 10
SET @nhanvien_name = 'Smith';
ELSE
SET @nhanvien_name = 'Lawrence';
RETURN @nhanvien_name;
END;
উপরের ফাংশনটির নাম fuNhanvien, একটি @nhanvien_id প্যারামিটার আছে INT ডেটা টাইপের। ফাংশনটি RETURNS স্টেটমেন্ট এক্সিকিউট করলে VARCHAR(50) মান ফেরত দেবে।
তারপর আপনি fuNhanvien রেফারেন্স করতে পারেন নিচের মতো:
USE [test]
GO
SELECT dbo.fuNhanvien(8);
GO
DROP FUNCTION (ফাংশন ডিলিট)
সফলভাবে ফাংশন তৈরি হলে, ডেটাবেস থেকে ফাংশন মুছে ফেলার প্রয়োজনও পড়তে পারে।
সিনট্যাক্স
ফাংশন মুছে ফেলার জন্য নিচের সিনট্যাক্স ব্যবহার করুন:
DROP FUNCTION function_name;
প্যারামিটার:
function_name: ডিলিট করতে চাওয়া ফাংশনের নাম।
উদাহরণ
DROP FUNCTION fuNhanvien;
এই কমান্ড এক্সিকিউট করলে আপনি ডেটাবেস থেকে fuNhanvien ফাংশন মুছে ফেলেছেন।