Defining Triggers for Insert, Update, Delete Operations In Hindi
एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में ट्रिगर डेटाबेस टेबल में स्पेशल टाइप के स्टोर्ड प्रोसीजर या टेबल व्यू बेस्ड टास्क होते हैं, जो डेटाबेस यूजर के द्वारा किसी टेबल या व्यू पर कोई स्पेशल इवेंट अप्लाई करने पर आटोमेटिक एग्जीक्यूट या “रन” होते हैं। डेटाबेस टेबल में व्यू ट्रिगर INSERT, UPDATE, या DELETE जैसे टेबल ऑपरेशन के लिए मैन्युअली अप्लाई किए जा सकते हैं। ये सिस्टम डिफाइन ट्रिगर टेबल में बिज़नेस रूल्स को अप्लाई करने, टेबल व्यू डेटा को वैलिडेट करने, या डेटाबेस टेबल डेटा की कंसिस्टेंसी को मेन्टेन करने जैसे टास्क को ऑटोमेट करने में हेल्प करते हैं।

Trigger Overview in SQL Database Management Systems.
- Insert Trigger – जब डेटाबेस यूजर द्वारा टेबल में कोई नया रिकॉर्ड इन्सर्ट या ऐड किया जाता है, तो यह इवेंट आटोमेटिक फायर या रन होता है।
- Update Trigger – जब डेटाबेस टेबल में कोई एक्सिस्टिंग टेबल व्यू रिकॉर्ड अपडेट किया जाता है, तो यह इवेंट ट्रिगर या फायर होता है।
- Delete Trigger – जब डेटाबेस टेबल में टेबल से कोई एक्सिस्टिंग या करंट टेबल रिकॉर्ड डिलीट किया जाता है, तो यह इवेंट ट्रिगर या फायर होता है। यहाँ डिलीट ट्रिगर को किसी टास्क ऑपरेशन से पहले या बाद में एग्जीक्यूट होने के लिए मैन्युअल रूप से डिफाइन किया जा सकता है.
- BEFORE Trigger – डेटाबेस टेबल में बिफोर ट्रिगर ऑपरेशन जैसे, इन्सर्ट, अपडेट, डिलीट, टास्क से पहले यह एग्जीक्यूट होता है।
- AFTER Trigger – डेटाबेस टेबल में आफ्टर ट्रिगर टेबल ऑपरेशन कम्पलीट होने के बाद आटोमेटिक एग्जीक्यूट होता है।
डेटाबेस टेबल में ट्रिगर एक्शन टास्क को परफॉर्म करने के लिए यूज़ करे, जैसे, इन्सर्ट, अपडेट, या डिलीट ट्रिगर, टास्क के लिए सेट किया जा सकता है, और ये टेबल में रो लेवल हर टेबल रो के लिए एग्जीक्यूट या अप्लाई टेबल स्टेटमेंट लेवल में पूरे स्टेटमेंट के लिए एक बार एग्जीक्यूट कर सकते हैं।
Defining triggers for INSERT, UPDATE, and DELETE operations in database tables.
Example of MySQL database table triggers.
MySQL Insert trigger in database management.
इन्सर्ट ट्रिगर एम्प्लॉई डेटाबेस टेबल में जब भी कोई नया एम्प्लॉई रिकॉर्ड ऐड या इन्सर्ट किया जाता है, तो इन्सर्ट ट्रिगर आटोमेटिक एक ऑडिट टेबल में एक रिकॉर्ड इन्सर्ट कर ट्रिगर को एग्जीक्यूट करता है।
CREATE TRIGGER AfterNewEmployeeInsertTask
AFTER INSERT ON employee
FOR EACH ROW
BEGIN
INSERT INTO audit_log (action, employee_id, action_time)
VALUES (‘INSERT’, NEW.employee_id, NOW());
END;
यह एम्प्लॉई डेटाबेस टेबल में AFTER INSERT ट्रिगर टेबल में एक नया एम्प्लॉई इन्सर्ट होने के बाद अपने आप एग्जीक्यूट होता है।
यहाँ NEW.employee_id नए इन्सर्ट किए गए टेबल रो से employee_id कॉलम की वैल्यू को डिस्प्ले करता है।
MySQL Update Trigger in database management.
अपडेट ट्रिगर एम्प्लॉई डेटाबेस टेबल में एक ऑडिट में एम्प्लॉई की सैलरी में किए गए किसी भी प्रकार के मॉडिफिकेशन को रिकॉर्ड करता है।
CREATE TRIGGER BeforeEmployeeSalaryUpdate
BEFORE UPDATE ON employee
FOR EACH ROW
BEGIN
IF OLD.salary <> NEW.salary THEN
INSERT INTO salary_audit (employee_id, old_salary, new_salary, change_time)
VALUES (NEW.employee_id, OLD.salary, NEW.salary, NOW());
END IF;
END;
यहाँ एम्प्लॉई टेबल में BEFORE UPDATE ट्रिगर टेबल में एम्प्लॉई सैलरी रिकॉर्ड अपडेट होने से पहले आटोमेटिक एग्जीक्यूट होता है।
जहा एम्प्लॉई टेबल में OLD.salary अपडेट से पहले की एम्प्लॉई सैलरी वैल्यू को डिस्प्ले करता है, इसी प्रकार के NEW.salary ऐड की जा रही नई सैलरी वैल्यू को डिस्प्ले करती है।
MySQL Delete Trigger in database management.
यहाँ एम्प्लॉई टेबल में डिलीट ट्रिगर एम्प्लॉई रिकॉर्ड के डिलीट होने के बाद एक ऑडिट टेबल में लॉग कर डिस्प्ले करता है।
CREATE TRIGGER AfterEmployeeDeleteTask
AFTER DELETE ON employee
FOR EACH ROW
BEGIN
INSERT INTO employee_deletion_log (employee_id, deletion_time)
VALUES (OLD.employee_id, NOW());
END;
यहाँ AFTER DELETE इवेंट ट्रिगर एम्प्लॉई टेबल में तब फायर होता है, जब employee टेबल से किसी मौजूदा एम्प्लॉई का रिकॉर्ड डिलीट किया जाता है।
जहा OLD.employee_id डिलीट की गई टेबल रो के एम्प्लॉई ID को इंडीकेट करता है।
Example of a PostgreSQL INSERT, UPDATE, or DELETE event trigger in a database management system.
PostgreSQL Insert trigger in database management.
PostgreSQL डेटाबेस मैनेजमेंट सिस्टम में डेटाबेस यूजर इसी प्रकार से AFTER INSERT ट्रिगर इवेंट को यूज़ करके एक इंसर्ट ट्रिगर क्रिएट कर सकते हैं।
CREATE OR REPLACE FUNCTION log_employee_insert()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO audit_log (action, employee_id, action_time)
VALUES (‘INSERT’, NEW.employee_id, NOW());
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER AfterEmployeeInsertTask
AFTER INSERT ON employee
FOR EACH ROW
EXECUTE FUNCTION log_employee_insert();
यहाँ इन्सर्ट आफ्टर ट्रिगर को employee टेबल में हर इंसर्ट करने के बाद log_employee_insert() फ़ंक्शन को कॉल करने के लिए डिफाइन किया गया है।
जो यहाँ NEW इंसर्ट की जा रही टेबल नई रो को इंडीकेट करता है।
PostgreSQL Update Triggers in database management.
यहाँ PostgreSQL डेटाबेस मैनेजमेंट सिस्टम में सैलरी में यूजर मॉडिफिकेशन को लॉग करने के लिए एक सिंपल अपडेट ट्रिगर का एक्साम्प्ल दिया गया है।
CREATE OR REPLACE FUNCTION log_salary_update()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.salary <> NEW.salary THEN
INSERT INTO salary_audit (employee_id, old_salary, new_salary, change_time)
VALUES (NEW.employee_id, OLD.salary, NEW.salary, NOW());
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER BeforeEmployeeUpdateTask
BEFORE UPDATE ON employee
FOR EACH ROW
EXECUTE FUNCTION log_salary_update();
यहाँ एम्प्लॉई टेबल में BEFORE UPDATE इवेंट ट्रिगर यह एनालाइज करता है कि एम्प्लॉई टेबल में सैलरी मॉडिफाई हुई है, या नहीं है, और अगर सैलरी मॉडिफाई हुई है, तो यह रिजल्ट में ओल्ड और नई सैलरी वैल्यू को लॉग कर डिस्प्ले करता है।
PostgreSQL Delete Triggers in database management.
PostgreSQL डेटाबेस मैनेजमेंट सिस्टम में एक डिलीट ट्रिगर एम्प्लॉई टेबल में रिकॉर्ड्स के डिलीट होने पर सिस्टम में लॉग करता है।
CREATE OR REPLACE FUNCTION log_employee_delete()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO employee_deletion_log (employee_id, deletion_time)
VALUES (OLD.employee_id, NOW());
RETURN OLD;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER AfterEmployeeDeleteTask
AFTER DELETE ON employee
FOR EACH ROW
EXECUTE FUNCTION log_employee_delete();
यहाँ एम्प्लॉई टेबल में AFTER DELETE इवेंट ट्रिगर डिलीट किए गए एम्प्लॉई रिकॉर्ड के employee_id को employee_deletion_log टेबल में लॉग कर डिस्प्ले करता है।
Examples of INSERT, UPDATE, or DELETE in SQL Server.
Insert Trigger in SQL Server database management system.
SQL सर्वर डेटाबेस मैनेजमेंट सिस्टम में इंसर्ट ट्रिगर एक्शन के लिए ट्रिगर को क्रिएट कर मैनेज कर सकते है।
CREATE TRIGGER AfterEmployeeInsertTask
ON employee
AFTER INSERT
AS
BEGIN
INSERT INTO audit_log (action, employee_id, action_time)
SELECT ‘INSERT’, employee_id, GETDATE()
FROM inserted;
END;
यहाँ एम्प्लॉई टेबल में AFTER INSERT ट्रिगर employee टेबल में एक नई टेबल रो इंसर्ट होने के बाद रन होता है।
जहा inserted SQL सर्वर में एक यूनिक या स्पेशल टेबल है, जो की नई इंसर्ट की गई एम्प्लॉई टेबल रोज़ को होल्ड करती है।
Update Trigger in SQL Server database management system.
यहाँ एम्प्लॉई टेबल में SQL सर्वर ट्रिगर एक एम्प्लॉई की सैलरी में किए गए किसी भी प्रकार के मॉडिफिकेशन को लॉग कर डिस्प्ले करता है।
CREATE TRIGGER BeforeEmployeeUpdateTask
ON employee
AFTER UPDATE
AS
BEGIN
DECLARE @emp_id INT, @old_salary DECIMAL, @new_salary DECIMAL;
SELECT @emp_id = employee_id, @old_salary = salary FROM deleted;
SELECT @new_salary = salary FROM inserted;
IF @old_salary <> @new_salary
BEGIN
INSERT INTO salary_audit (employee_id, old_salary, new_salary, change_time)
VALUES (@emp_id, @old_salary, @new_salary, GETDATE());
END
END;
यहाँ एम्प्लॉई टेबल में AFTER UPDATE इवेंट ट्रिगर ओल्ड और नई सैलरी वैल्यू को कम्पेयर करता है। यदि यहाँ कोई मॉडिफिकेशन होता है, तो यह एम्प्लॉई टेबल में होने वाले अपडेट को salary_audit टेबल में लॉग कर डिस्प्ले करता है।
Delete Trigger in SQL Server database management system.
SQL सर्वर एम्प्लॉई टेबल में डिलीट ट्रिगर का यूज़ टेबल रिकॉर्ड्स के डिलीट होने के बाद लॉग कर डिस्प्ले करने में किया जाता है।
CREATE TRIGGER AfterEmployeeDeleteTask
ON employee
AFTER DELETE
AS
BEGIN
INSERT INTO employee_deletion_log (employee_id, deletion_time)
SELECT employee_id, GETDATE() FROM deleted;
END;
यहाँ एम्प्लॉई टेबल में AFTER DELETE इवेंट ट्रिगर डिलीट किए गए एम्प्लॉई टेबल रिकॉर्ड को employee_id में लॉग करता है, जो की स्पेशल डिलीटेड टेबल में स्टोर होती है।
Key Concepts in INSERT, UPDATE, or DELETE Triggers.
- Inserted and Deleted Tables – यहाँ अधिकतर RDBMS टेबल इवेंट ट्रिगर्स में इन्सर्टेड और डिलीटेड नाम की स्पेशल डेटाबेस टेबल वैल्यू होती हैं.
- Inserted – यहाँ INSERT और UPDATE टेबल ऑपरेशन के लिए नई डेटाबेस टेबल वैल्यू स्टोर होती हैं।
- Deleted – इसमें DELETE और UPDATE डेटाबेस टेबल ऑपरेशन के लिए ओल्ड डिलीटेड टेबल वैल्यू स्टोर होती हैं।
- Row-Level vs. Statement-Level event trigger.
- Row-Level Triggers – ये डेटाबेस टेबल में टास्क या ऑपरेशन से अफेक्टेड हर टेबल रो के लिए एक बार रन होते हैं, जैसे, जब कोई नई टेबल रो इन्सर्ट की जाती हैं।
- Statement-Level Triggers – ये डेटाबेस टेबल में इम्पैक्ट टेबल रो के नंबर्स को अवॉयड किए बिना पूरे डेटाबेस टेबल ऑपरेशन के लिए एक बार फायर या रन होते हैं।
Trigger Events: Considerations and Best Practices in Multiple Use.
- Performance Impact – डेटाबेस टेबल में क्रिएटेड इवेंट ट्रिगर्स का परफॉर्मेंस पर इम्पैक्ट हो सकता है. स्पेशली, जब डेटाबेस टेबल में रो-लेवल ट्रिगर्स के लिए हर अफेक्टेड हर रो के लिए ये फायर या रन होते हैं। यहाँ आप डेटाबेस टेबल में परफॉर्मेंस पर इनके इम्पैक्ट को कम करने के लिए इवेंट ट्रिगर्स को प्रॉपर आर्डर में डेवलप या डिज़ाइन करना फिक्स कर सकते है।
- Recursive Triggers – डेटाबेस टेबल में रिकर्सिव ट्रिगर्स को केयरफुल डील करे, जिसमे एक ट्रिगर दूसरे ट्रिगर को फायर या रन कर सकता है, जहा कुछ इनफिनिट लूप डिफाइन हो सकते हैं। कुछ डेटाबेस सॉफ्टवेयर डेटाबेस यूजर को इसे स्टॉप करने की परमिशन प्रोवाइड करते हैं।
- Error Handling – डेटाबेस टेबल में ऑपरेशन में आने वाली ब्लॉकेज या रिस्ट्रिक्शन अनवांटेड फेलियर को अवॉयड करने के लिए हमेशा इवेंट ट्रिगर्स के अंदर एरर हैंडलिंग मेथड को अप्लाई करें।
Conclusion of Defining Triggers for Insert, Update, Delete Operations.
ट्रिगर्स SQL डेटाबेस मैनेजमेंट सिस्टम में एडिटिंग, कण्ट्रोल, या मॉडिफिकेशन के लिए एक पॉपुलर स्ट्रांग फीचर्स है, जो डेटाबेस यूजर को INSERT, UPDATE, या DELETE जैसे इवेंट ट्रिगर के आधार पर आटोमेटिक आर्डर में डेटाबेस टेबुलर एक्शन परफॉर्म करने की परमिशन प्रोवाइड करते है। यहाँ इवेंट या ट्रिगर का यूज़ सामान्यता रूप से डेटाबेस टेबल ऑडिटिंग, बिज़नेस रूल्स को अप्लाई करने और डेटा की कंसिस्टेंसी मेन्टेन करने में किया जाता है। डेटाबेस टेबल में इवेंट ट्रिगर्स को इफेक्टिव आर्डर में यूज़ करके डेटाबेस यूजर इसके टास्कस को ऑटोमेट कर सकते हैं।
