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

SQL Server-এ PROCEDURE (প্রোসিজার/স্টোরড প্রোসিজার)

Procedure (প্রোসিজার) হলো ডেটাবেসে একটি প্রোগ্রাম যেটি একাধিক স্টেটমেন্ট থেকে গঠিত এবং পরবর্তী ব্যবহারের জন্য সংরক্ষিত থাকে। SQL Server-এ প্রোসিজারে প্যারামিটার পাস করা যায়, যদিও ফাংশনের মতো নির্দিষ্ট রিটার্ন ভ্যালু দেয় না কিন্তু এক্সিকিউশন সফল বা ব্যর্থ সেটি ইন্ডিকেট করে।

এই নিবন্ধে SQL Server-এ প্রোসিজার তৈরি এবং ডিলিট করার সিনট্যাক্স এবং উদাহরণ দেওয়া হয়েছে।

CREATE PROCEDURE (প্রোসিজার তৈরি)

সিনট্যাক্স

SQL Server-এ প্রোসিজার তৈরি করার জন্য নিচের সিনট্যাক্স ব্যবহার করুন:

CREATE {PROCEDURE | PROC} [schema_name.] procedure_name
[@parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]
, @parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]]
[WITH {ENCRYPTION | RECOMPILE | EXECUTE AS Clause}]
[FOR REPLICATION]
AS
BEGIN
[declaration_section]
executable_section
END;

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

  1. schema_name: প্রোসিজার اهدায় থাকা স্কিমা (schema) নাম।
  2. procedure_name: প্রোসিজারের জন্য দেওয়া নাম।
  3. @parameter: ফাংশনে পাস করা এক বা একাধিক প্যারামিটার।
  4. type_schema_name: স্কিমার ডেটা টাইপ (যদি থাকে)।
  5. datatype: @parameter-এর ডেটা টাইপ।
  6. default: @parameter-এ এসাইন করা ডিফল্ট মান।
  7. OUT/OUTPUT: @parameter একটি আউটপুট প্যারামিটার।
  8. READONLY: @parameter প্রোসিজার দ্বারা ওভাররাইড করা যাবে না।
  9. ENCRYPTION: প্রোসিজারের সোর্স কোড সিস্টেমে টেক্সট হিসেবে সংরক্ষিত হবে না।
  10. RECOMPILE: এই প্রোসিজারের জন্য কোয়েরি ক্যাশ (cache) করা হবে না।
  11. EXECUTE AS clause: প্রোসিজার এক্সিকিউশনের সিকিউরিটি কনটেক্সট নির্দিষ্ট করে।
  12. FOR REPLICATION: সংরক্ষিত প্রোসিজার শুধু রেপ্লিকেশন প্রসেস চলাকালীন এক্সিকিউট হবে।

উদাহরণ

CREATE PROCEDURE spNhanvien
@nhanvien_name VARCHAR(50) OUT
AS
BEGIN
    DECLARE @nhanvien_id INT;
    SET @nhanvien_id = 8;
    IF @nhanvien_id < 10
        SET @nhanvien_name = 'Smith';
    ELSE
        SET @nhanvien_name = 'Lawrence';
END;

উপরের প্রোসিজারটির নাম spNhanvien, একটি প্যারামিটার আছে @nhanvien_name, যা আউটপুট প্যারামিটার এবং এর আউটপুট @nhanvien_id-এর উপর ভিত্তি করবে।

তারপর, আপনি spNhanvien রেফারেন্স করতে পারেন নিচের মতো:

USE [test]
GO
DECLARE @site_name varchar(50);
EXEC FindSite @site_name OUT;
PRINT @site_name;
GO

DROP PROCEDURE (প্রোসিজার ডিলিট)

সফলভাবে প্রোসিজার তৈরি হলে, ডেটাবেস থেকে প্রোসিজার মুছে ফেলার প্রয়োজনও পড়তে পারে।

সিনট্যাক্স

প্রোসিজার মুছে ফেলার জন্য নিচের সিনট্যাক্স ব্যবহার করুন:

DROP PROCEDURE procedure_name;

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

procedure_name: ডিলিট করতে চাওয়া প্রোসিজারের নাম।

উদাহরণ

DROP PROCEDURE spNhanvien;

এই কমান্ড এক্সিকিউট করলে আপনি ডেটাবেস থেকে spNhanvien প্রোসিজার মুছে ফেলেছেন।

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

  2. SQL Server-এ ইনডেক্স (Index)

  3. SQL Server-এ PROCEDURE (প্রোসিজার/স্টোরড প্রোসিজার)

  4. MS SQL Server কী?