PL/SQL-এ Scalar Data Types হল এমন ডেটা টাইপ যা একক (single) মান ধারণ করতে পারে। এটি সংখ্যা, স্ট্রিং, তারিখ, বা লজিক্যাল ভ্যালু হতে পারে। Scalar Data Types সাধারণত সংখ্যার জন্য NUMBER, টেক্সটের জন্য VARCHAR2, এবং তারিখ ও সময়ের জন্য DATE ব্যবহৃত হয়। এই টাইপগুলোকে সঠিকভাবে ব্যবহার করা PL/SQL-এ কার্যকারিতা এবং সঠিক ফলাফল অর্জনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
১. NUMBER
NUMBER ডেটা টাইপটি সংখ্যা (Integer বা Floating Point) ধারণ করতে ব্যবহৃত হয়। এটি পূর্ণসংখ্যা (Integer) অথবা দশমিক (Decimal) সংখ্যা থাকতে পারে।
সংজ্ঞা:
- NUMBER(p,s)
p: Precision - মোট ডিজিটের সংখ্যা।s: Scale - দশমিক পয়েন্টের পরের ডিজিট সংখ্যা।
উদাহরণ:
NUMBER টাইপের ব্যবহার:
v_salary NUMBER; -- একে ব্যবহার করতে হবে একটি ভেরিয়েবল হিসেবে v_discount NUMBER(5,2); -- 5 ডিজিটের মধ্যে 2টি ডেসিমাল পয়েন্ট (যেমন 123.45) v_amount NUMBER(8,2); -- 8 ডিজিট, 2 ডেসিমাল পয়েন্টPrecision এবং Scale:
v_price NUMBER(6,2); -- সর্বোচ্চ 6 ডিজিটের মধ্যে 2টি ডেসিমাল (যেমন 12345.67) v_quantity NUMBER(3); -- 3 ডিজিটের সংখ্যা (যেমন 999)
গুরুত্বপূর্ণ পয়েন্ট:
- NUMBER টাইপ একটি নম্বর মান ধারণ করতে পারে যা পুরো সংখ্যাও হতে পারে এবং দশমিক সংখ্যাও হতে পারে।
- Precision (p) সর্বোচ্চ সংখ্যক ডিজিট এবং Scale (s) দশমিক স্থান নির্দেশ করে।
২. VARCHAR2
VARCHAR2 ডেটা টাইপটি স্ট্রিং (অক্ষরের সিকোয়েন্স) ধারণ করতে ব্যবহৃত হয়। এটি একটি পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং ধারণ করতে পারে, অর্থাৎ আপনি স্ট্রিংটির দৈর্ঘ্য নির্দিষ্ট করতে পারেন।
সংজ্ঞা:
- VARCHAR2(size)
size: এটি স্ট্রিংটির সর্বোচ্চ দৈর্ঘ্য নির্দেশ করে (ক্যারেক্টার হিসেবে)।
উদাহরণ:
VARCHAR2 টাইপের ব্যবহার:
v_name VARCHAR2(50); -- 50 ক্যারেক্টার পর্যন্ত নাম v_address VARCHAR2(200); -- 200 ক্যারেক্টার পর্যন্ত ঠিকানা v_email VARCHAR2(100); -- 100 ক্যারেক্টার পর্যন্ত ইমেল
গুরুত্বপূর্ণ পয়েন্ট:
- VARCHAR2 হল একটি পরিবর্তনশীল স্ট্রিং ডেটা টাইপ, যা স্ট্রিংয়ের দৈর্ঘ্য অনুযায়ী মেমরি ব্যবহার করে।
- CHAR ডেটা টাইপের তুলনায়, এটি মেমরি দক্ষ, কারণ এটি প্রয়োজন অনুযায়ী মেমরি বরাদ্দ করে।
৩. DATE
DATE ডেটা টাইপটি তারিখ এবং সময় সংরক্ষণ করতে ব্যবহৃত হয়। এতে বছরের, মাসের, দিনের সাথে ঘন্টা, মিনিট, সেকেন্ড পর্যন্ত তথ্য ধারণ করা যেতে পারে।
সংজ্ঞা:
- DATE
- এটি কোনও নির্দিষ্ট তারিখ এবং সময় সংরক্ষণ করে।
উদাহরণ:
DATE টাইপের ব্যবহার:
v_birthdate DATE; -- জন্ম তারিখ v_join_date DATE; -- চাকরি শুরু তারিখ v_current_date DATE := SYSDATE; -- বর্তমান তারিখ ও সময়
গুরুত্বপূর্ণ পয়েন্ট:
- DATE টাইপটি Oracle-এ তারিখ এবং সময়ের জন্য ব্যবহৃত হয়। এর মধ্যে YEAR, MONTH, DAY, HOUR, MINUTE, SECOND সব কিছু অন্তর্ভুক্ত থাকে।
SYSDATEফাংশনটি বর্তমান তারিখ এবং সময় রিটার্ন করে।
৪. BOOLEAN
BOOLEAN ডেটা টাইপটি TRUE অথবা FALSE মান ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত লজিক্যাল সিদ্ধান্তে ব্যবহৃত হয়।
সংজ্ঞা:
- BOOLEAN
- এটি দুইটি মান ধারণ করতে পারে: TRUE অথবা FALSE।
উদাহরণ:
v_is_active BOOLEAN; -- TRUE বা FALSE হতে পারে
গুরুত্বপূর্ণ পয়েন্ট:
- BOOLEAN ডেটা টাইপ শুধুমাত্র TRUE, FALSE, অথবা
NULLহতে পারে।
৫. সংশ্লিষ্ট উদাহরণ
এখানে একটি উদাহরণ দেওয়া হলো যেখানে NUMBER, VARCHAR2, এবং DATE ডেটা টাইপের ভেরিয়েবল ব্যবহার করা হয়েছে:
DECLARE
v_employee_id NUMBER(6); -- Employee ID (6 ডিজিট)
v_employee_name VARCHAR2(50); -- Employee Name (50 ক্যারেক্টার)
v_salary NUMBER(8,2); -- Employee Salary (8 ডিজিট, 2 দশমিক পয়েন্ট)
v_hire_date DATE; -- Employee Hire Date
BEGIN
-- Variable assignments
v_employee_id := 1001;
v_employee_name := 'John Doe';
v_salary := 55000.75;
v_hire_date := TO_DATE('2024-05-01', 'YYYY-MM-DD');
-- Display output
DBMS_OUTPUT.PUT_LINE('Employee ID: ' || v_employee_id);
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_employee_name);
DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary);
DBMS_OUTPUT.PUT_LINE('Hire Date: ' || v_hire_date);
END;
এই উদাহরণে:
- v_employee_id হল একটি NUMBER ভেরিয়েবল যা ৬ ডিজিট পর্যন্ত ধারণ করতে পারে।
- v_employee_name হল একটি VARCHAR2 ভেরিয়েবল, যা ৫০ ক্যারেক্টার পর্যন্ত নাম ধারণ করতে পারে।
- v_salary একটি NUMBER ভেরিয়েবল যা ৮ ডিজিটের মধ্যে ২টি ডেসিমাল পয়েন্ট ধারণ করতে পারে।
- v_hire_date একটি DATE টাইপের ভেরিয়েবল, যা তারিখ এবং সময় সংরক্ষণ করে।
সারাংশ
PL/SQL-এর Scalar Data Types (যেমন NUMBER, VARCHAR2, DATE) হল ডেটা টাইপ যা একক মান ধারণ করতে সক্ষম। সঠিকভাবে এই টাইপগুলি ব্যবহার করলে আপনার প্রোগ্রামটি আরো কার্যকরী এবং নির্ভুল হবে।
সারাংশে:
- NUMBER সংখ্যার জন্য, Precision এবং Scale সহ ব্যবহৃত হয়।
- VARCHAR2 স্ট্রিংয়ের জন্য, যা পরিবর্তনশীল দৈর্ঘ্য ধারণ করতে পারে।
- DATE তারিখ এবং সময় সংরক্ষণের জন্য ব্যবহৃত হয়।
Read more