PL/SQL ভেরিয়েবল এবং ডেটা টাইপ

PL/SQL এর বেসিক স্ট্রাকচার - পিএল/এসকিউএল (PL/SQL) - Database Tutorials

374

PL/SQL-এ, ভেরিয়েবল এবং ডেটা টাইপ খুবই গুরুত্বপূর্ণ অংশ, কারণ এগুলির মাধ্যমে আপনি ডেটা সংরক্ষণ এবং পরিচালনা করতে পারেন। PL/SQL-এর ডেটা টাইপ সঠিকভাবে ব্যবহৃত হলে, আপনি প্রোগ্রামটির কার্যকারিতা উন্নত করতে পারবেন এবং একাধিক অপারেশন চালাতে পারবেন।

১. ভেরিয়েবল (Variables)

PL/SQL-এ ভেরিয়েবল হল একটি মেমরি এলাকা, যেখানে আপনি বিভিন্ন ধরণের ডেটা সংরক্ষণ করতে পারেন। ভেরিয়েবল গুলি সাধারণত DECLARE সেকশনে ঘোষণা করা হয় এবং BEGIN সেকশনে ব্যবহৃত হয়।

ভেরিয়েবল ডিক্লারেশন:

ভেরিয়েবল ঘোষণা করতে data_type variable_name; সিমেন্ট্যাক্স ব্যবহার করা হয়।

উদাহরণ:

DECLARE
  v_employee_name VARCHAR2(50);  -- Employee name variable
  v_salary NUMBER(8,2);         -- Employee salary variable
  v_join_date DATE;             -- Employee joining date

এখানে,

  • v_employee_name একটি VARCHAR2 টাইপের ভেরিয়েবল, যা 50 ক্যারেক্টার পর্যন্ত স্টোর করতে পারে।
  • v_salary একটি NUMBER টাইপের ভেরিয়েবল, যার মধ্যে 8 ডিজিট, যার মধ্যে 2টি ডেসিমাল পয়েন্ট থাকবে।
  • v_join_date একটি DATE টাইপের ভেরিয়েবল।

২. PL/SQL ডেটা টাইপ (Data Types)

PL/SQL-এ ডেটা টাইপ দুটি মূল ক্যাটেগরিতে বিভক্ত:

  1. Scalar Data Types
  2. Composite Data Types

১. Scalar Data Types

Scalar data types হল সিঙ্গল ভ্যালু ধারণ করতে সক্ষম ডেটা টাইপ, যেমন সংখ্যা, স্ট্রিং, তারিখ ইত্যাদি।

প্রধান Scalar Data Types:

  • NUMBER: সংখ্যার জন্য। আপনি সঠিক সংখ্যা উল্লেখ করতে পারেন, যেমন পূর্ণসংখ্যা, দশমিক সংখ্যা।
    • Syntax: NUMBER(p,s)
      • p: Precision (মোট ডিজিটের সংখ্যা)
      • s: Scale (ডেসিমাল পয়েন্টের পরের ডিজিট সংখ্যা)
    • উদাহরণ:

      v_amount NUMBER(8,2);  -- 8 ডিজিট, 2 ডেসিমাল পয়েন্ট সহ
      
  • VARCHAR2: পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং মান সংরক্ষণের জন্য ব্যবহৃত হয়।
    • Syntax: VARCHAR2(size)
    • উদাহরণ:

      v_name VARCHAR2(100);   -- 100 ক্যারেক্টার পর্যন্ত নাম
      
  • CHAR: নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করতে ব্যবহৃত হয়। সাধারণত, ব্যবহার করা হয় যখন ডেটার দৈর্ঘ্য পূর্বানুমানযোগ্য হয়।
    • Syntax: CHAR(size)
    • উদাহরণ:

      v_gender CHAR(1);  -- 'M' অথবা 'F' হতে পারে
      
  • DATE: তারিখ এবং সময় সংরক্ষণ করার জন্য ব্যবহৃত হয়।
    • Syntax: DATE
    • উদাহরণ:

      v_hire_date DATE;  -- Employee hire date
      
  • BOOLEAN: শুধুমাত্র দুটি মান ধারণ করতে পারে: TRUE অথবা FALSE।
    • Syntax: BOOLEAN
    • উদাহরণ:

      v_is_active BOOLEAN;  -- TRUE or FALSE
      

২. Composite Data Types

Composite data types হল এমন টাইপ যা একাধিক ভ্যালু ধারণ করতে পারে।

প্রধান Composite Data Types:

  • RECORD: একাধিক ভ্যালুকে একটি যৌথ টাইপে সংরক্ষণ করার জন্য ব্যবহার করা হয়। এটি একটি user-defined ডেটা টাইপ।
    • Syntax:

      TYPE record_type IS RECORD (
        field1 datatype,
        field2 datatype,
        ...
      );
      
    • উদাহরণ:

      TYPE employee_record IS RECORD (
        employee_id NUMBER(6),
        employee_name VARCHAR2(50),
        hire_date DATE
      );
      
      v_employee employee_record;  -- Declare a variable of employee_record type
      
  • TABLE: এটি একটি সারণি ডেটা টাইপ, যা একাধিক ভ্যালু বা রেকর্ড ধারণ করতে পারে।
    • Syntax:

      TYPE table_type IS TABLE OF datatype;
      
    • উদাহরণ:

      TYPE number_table IS TABLE OF NUMBER;  -- Table of numbers
      v_numbers number_table;
      
  • VARRAY: এটি একটি স্থির সাইজের অ্যারে ডেটা টাইপ, যা একাধিক ভ্যালু ধারণ করতে পারে।
    • Syntax:

      TYPE varray_type IS VARRAY(size) OF datatype;
      
    • উদাহরণ:

      TYPE number_varray IS VARRAY(10) OF NUMBER;  -- Array of 10 numbers
      v_varray number_varray;
      

৩. Reference Data Types

Reference data types হল এমন ডেটা টাইপ যা একে অন্যের সাথে সম্পর্কিত (reference) ডেটা ধারণ করতে পারে। এর মধ্যে প্রধান হল REF CURSOR

  • REF CURSOR: এটি একটি পয়েন্টার যা একটি SQL কিউরি থেকে রেকর্ডগুলি রেফারেন্স করতে পারে।
    • Syntax:

      TYPE cursor_type IS REF CURSOR;
      
    • উদাহরণ:

      DECLARE
        v_cursor cursor_type;
      BEGIN
        OPEN v_cursor FOR SELECT * FROM employees;
      END;
      

৩. Anchored Data Types

Anchored data types এমন ডেটা টাইপ যা একটি টেবিলের কলামের টাইপ বা একটি রেকর্ড টাইপের সাথে যুক্ত থাকে। এটি %TYPE এবং %ROWTYPE এর মাধ্যমে হয়।

  • %TYPE: একটি কলামের ডেটা টাইপের সাথে ভেরিয়েবলের ডেটা টাইপ অ্যাসাইন করতে ব্যবহার হয়।
    • Syntax:

      v_employee_name employees.employee_name%TYPE;
      
  • %ROWTYPE: একটি টেবিল বা কিউরি থেকে একটি সম্পূর্ণ রেকর্ড টাইপ তৈরি করতে ব্যবহার হয়।
    • Syntax:

      v_employee employees%ROWTYPE;
      

সারাংশ

PL/SQL-এ ভেরিয়েবল এবং ডেটা টাইপগুলি গুরুত্বপূর্ণ, কারণ এগুলি কোডের মধ্যে ডেটা স্টোর, ম্যানিপুলেট এবং প্রসেস করতে সহায়ক। PL/SQL ডেটা টাইপগুলোকে Scalar, Composite, এবং Reference টাইপে ভাগ করা যেতে পারে। আপনি যখন একটি PL/SQL প্রোগ্রাম তৈরি করেন, তখন উপযুক্ত ডেটা টাইপ নির্বাচন করা গুরুত্বপূর্ণ, যা আপনার ডেটার ধরণ এবং প্রক্রিয়ার সাথে সামঞ্জস্যপূর্ণ।

ভেরিয়েবল ডিক্লেয়ারেশন এবং টাইপ ব্যবহার:

  • Scalar টাইপ যেমন NUMBER, VARCHAR2, DATE, BOOLEAN প্রয়োগ করুন।
  • Composite টাইপ যেমন RECORD, TABLE, VARRAY প্রয়োগ করুন যখন একাধিক মান সংরক্ষণ করতে চান।
  • Anchored টাইপ ব্যবহার করুন যখন ডেটা টাইপকে টেবিল বা কলামের সাথে সম্পর্কিত করতে চান।

এটি আপনাকে PL/SQL কোড লেখার সময় সঠিক ভেরিয়েবল ও ডেটা টাইপ ব্যবহার করতে সহায়তা করবে।

Content added By
Promotion

Are you sure to start over?

Loading...