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-এ ডেটা টাইপ দুটি মূল ক্যাটেগরিতে বিভক্ত:
- Scalar Data Types
- 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 ডেসিমাল পয়েন্ট সহ
- Syntax:
- VARCHAR2: পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং মান সংরক্ষণের জন্য ব্যবহৃত হয়।
- Syntax:
VARCHAR2(size) উদাহরণ:
v_name VARCHAR2(100); -- 100 ক্যারেক্টার পর্যন্ত নাম
- Syntax:
- CHAR: নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করতে ব্যবহৃত হয়। সাধারণত, ব্যবহার করা হয় যখন ডেটার দৈর্ঘ্য পূর্বানুমানযোগ্য হয়।
- Syntax:
CHAR(size) উদাহরণ:
v_gender CHAR(1); -- 'M' অথবা 'F' হতে পারে
- Syntax:
- DATE: তারিখ এবং সময় সংরক্ষণ করার জন্য ব্যবহৃত হয়।
- Syntax:
DATE উদাহরণ:
v_hire_date DATE; -- Employee hire date
- Syntax:
- BOOLEAN: শুধুমাত্র দুটি মান ধারণ করতে পারে: TRUE অথবা FALSE।
- Syntax:
BOOLEAN উদাহরণ:
v_is_active BOOLEAN; -- TRUE or FALSE
- Syntax:
২. 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 কোড লেখার সময় সঠিক ভেরিয়েবল ও ডেটা টাইপ ব্যবহার করতে সহায়তা করবে।
Read more