MCAWALA

SQL Topics Menu

SQL Trigger क्या है? | Trigger in SQL Hindi में

Trigger SQL का एक विशेष Object होता है जो किसी Table पर INSERT, UPDATE या DELETE होने पर अपने आप (Automatically) काम करता है।

Trigger का उपयोग Business Rules को लागू करने, Audit Logs बनाने और डेटा को validate करने में किया जाता है।

📘 Syntax (सिंटैक्स)

CREATE TRIGGER trigger_name
AFTER INSERT ON table_name
FOR EACH ROW
BEGIN
  -- Trigger का कोड यहाँ लिखा जाएगा
END;

🎯 उदाहरण (Example)

1. Audit लॉग बनाने के लिए Trigger:

मान लीजिए हमारे पास दो टेबल हैं:

  • Employee – जिसमें एम्प्लॉयी की जानकारी है
  • Employee_Audit – जिसमें लॉग स्टोर होगा
CREATE TABLE Employee (
  EmpID INT,
  Name VARCHAR(50),
  Salary INT
);

CREATE TABLE Employee_Audit (
  EmpID INT,
  Action VARCHAR(20),
  ActionTime DATETIME
);

Trigger बनाना:

DELIMITER $$

CREATE TRIGGER after_emp_insert
AFTER INSERT ON Employee
FOR EACH ROW
BEGIN
  INSERT INTO Employee_Audit(EmpID, Action, ActionTime)
  VALUES (NEW.EmpID, 'INSERT', NOW());
END; $$

DELIMITER ;

अब जब भी Employee में नई एंट्री होगी, Employee_Audit में उसका लॉग खुद-ब-खुद बन जाएगा।

🛠️ Trigger के प्रकार (Types of Triggers)

  • BEFORE Trigger – डेटा डालने या बदलने से पहले
  • AFTER Trigger – डेटा बदलने के बाद
  • INSTEAD OF Trigger – किसी Action को Replace करने के लिए (ज्यादातर Views में)

📌 Trigger हटाना (Drop Trigger)

DROP TRIGGER IF EXISTS after_emp_insert;

📈 SQL Trigger के फायदे

  • ऑटोमेशन: बिना किसी मैन्युअल कोडिंग के कुछ actions अपने आप हो जाते हैं।
  • डेटा सिक्योरिटी और ट्रैकिंग: ट्रांज़ैक्शन लॉग रखना आसान होता है।
  • Data Consistency बनाए रखने में मदद करता है।

⚠️ ध्यान दें:

  • Triggers को डिबग करना मुश्किल हो सकता है।
  • गलत Trigger परफॉर्मेंस को धीमा कर सकते हैं।

✅ निष्कर्ष

SQL Trigger एक powerful फीचर है जो आपको अपने Database को स्मार्ट और responsive बनाने में मदद करता है। यह हर सीरियस प्रोजेक्ट के लिए उपयोगी होता है।