কম্পিউটার টিউটোরিয়াল

SQL Server-এ FUNCTION (ফাংশন)

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;

প্যারামিটার:

  1. schema_name: ফাংশন 붙어 স্কিমা (schema) নাম।
  2. function_name: ফাংশনকে দেওয়া নাম।
  3. @parameter: ফাংশনে পাস করা এক বা একাধিক প্যারামিটার।
  4. type_schema_name: স্কিমার ডেটা টাইপ (যদি থাকে)।
  5. datatype: @parameter-এর ডেটা টাইপ।
  6. default: @parameter-এ এসাইন করা ডিফল্ট মান।
  7. READONLY: @parameter ফাংশন দ্বারা ওভাররাইট করা যাবে না।
  8. return_datatype: রিটার্ন ভ্যালুর ডেটা টাইপ।
  9. ENCRYPTION: ফাংশনের সোর্স কোড সিস্টেমে টেক্সট হিসেবে সংরক্ষিত হবে না।
  10. SCHEMABINDING: অবজেক্ট 編集 না হয় যা ফাংশনকে প্রভাবিত করে তা নিশ্চিত করে।
  11. RETURNS NULL ON NULL INPUT: যেকোনো প্যারামিটার NULL হলে ফাংশন NULL ফেরত দেবে।
  12. CALLED ON NULL INPUT: প্যারামিটার NULL হলেও ফাংশন এক্সিকিউট হবে।
  13. EXECUTE AS clause: ফাংশন এক্সিকিউশনের সিকিউরিটি কনটেক্সট নির্দিষ্ট করে।
  14. 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 ফাংশন মুছে ফেলেছেন।

  1. SQL Server-এ ABS ফাংশন

  2. SQL Server-এ AVG ফাংশন

  3. SQL Server-এ CEILING ফাংশন

  4. SQL Server-এ FLOOR ফাংশন