Triggers হল DB2 এবং অন্যান্য ডেটাবেস সিস্টেমের একটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ডেটাবেসে নির্দিষ্ট ইভেন্টগুলোর প্রতি প্রতিক্রিয়া জানাতে ব্যবহৃত হয়। ট্রিগার হল একটি বিশেষ ধরনের স্টোরড প্রোসিডিউর যা স্বয়ংক্রিয়ভাবে চলে যখন কোনো নির্দিষ্ট শর্ত বা ইভেন্ট ঘটে, যেমন ডেটা ইনসার্ট, আপডেট, অথবা ডিলিট। ট্রিগার ব্যবহৃত হয় ডেটাবেসের অখণ্ডতা, নিরাপত্তা এবং প্রক্রিয়া নিশ্চিত করতে।
Trigger হল একটি অটোমেটিক একশন বা প্রক্রিয়া যা একটি নির্দিষ্ট ইভেন্ট ঘটলে ডেটাবেসে স্বয়ংক্রিয়ভাবে কার্যকর হয়। যখন ডেটাবেসের কোনো নির্দিষ্ট টেবিল বা কলামে ডেটা ইনসার্ট, আপডেট অথবা ডিলিট হয়, তখন ট্রিগার নির্দিষ্ট লজিক কার্যকর করতে পারে।
ট্রিগার সাধারণত এই ইভেন্টগুলোতে কাজ করে:
ট্রিগার যখন সক্রিয় হয়, তখন এটি পূর্বনির্ধারিত কিছু একশন (যেমন, ডেটা পরিবর্তন, লগ তৈরি, অ্যালার্ট পাঠানো ইত্যাদি) সম্পন্ন করতে পারে। ট্রিগার সাধারণত তিনটি প্রধান অংশে ভাগ করা যায়:
DB2-এ ট্রিগার তৈরি করার জন্য CREATE TRIGGER কমান্ড ব্যবহার করা হয়। এটি সাধারণত একটি BEFORE বা AFTER ট্রিগার হতে পারে এবং একটি নির্দিষ্ট টেবিলের জন্য সেট করা হয়।
CREATE TRIGGER <trigger_name>
{BEFORE|AFTER} <INSERT|UPDATE|DELETE>
ON <table_name>
FOR EACH ROW
BEGIN
-- Trigger Action (SQL Code)
END;
CREATE TRIGGER check_salary_before_insert
BEFORE INSERT ON Employees
FOR EACH ROW
BEGIN
IF (NEW.Salary < 10000) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Salary must be greater than 10000';
END IF;
END;
এখানে, BEFORE INSERT ট্রিগারটি Employees টেবিলে নতুন ডেটা ইনসার্ট করার আগে পরীক্ষা করবে, যদি Salary ১০,০০০ এর নিচে থাকে তবে এটি একটি কাস্টম এরর বার্তা দেবে এবং ইনসার্ট বন্ধ করবে।
CREATE TRIGGER log_salary_update
AFTER UPDATE OF Salary ON Employees
FOR EACH ROW
BEGIN
INSERT INTO SalaryAudit (EmployeeID, OldSalary, NewSalary, ChangeDate)
VALUES (OLD.EmployeeID, OLD.Salary, NEW.Salary, CURRENT_TIMESTAMP);
END;
এখানে, AFTER UPDATE ট্রিগারটি Employees টেবিলে Salary আপডেট করার পর SalaryAudit টেবিলে একটি লগ রেকর্ড তৈরি করবে, যেখানে OldSalary, NewSalary, এবং ChangeDate থাকবে।
Triggers হল DB2-এ এমন একটি উপাদান যা ডেটাবেসে নির্দিষ্ট ইভেন্ট ঘটলে স্বয়ংক্রিয়ভাবে কার্যকর হয়। এটি ডেটাবেসের অখণ্ডতা নিশ্চিত করে, স্বয়ংক্রিয়ভাবে লজিক কার্যকর করে এবং নিরাপত্তা বৃদ্ধি করতে সাহায্য করে। ট্রিগার ব্যবহারে ডেটাবেসের কার্যকারিতা বাড়ানো সম্ভব, তবে পারফরম্যান্স এবং ডিবাগিংয়ের ক্ষেত্রে কিছু সীমাবদ্ধতা থাকতে পারে।
common.read_more