DML ट्रिगर्स का उपयोग कैसे होता है

SQL Server में Triggers बनाना और उनका अनुकूलन

Florin Angelescu

Instructor

हमें DML ट्रिगर्स क्यों उपयोग करने चाहिए?

  • डेटा में बदलाव पर कार्रवाइयाँ शुरू करना
  • डेटा मैनिपुलेशन रोकना
  • डेटा या डेटाबेस ऑब्जेक्ट में बदलाव ट्रैक करना
  • यूज़र ऑडिटिंग और डेटाबेस सुरक्षा
SQL Server में Triggers बनाना और उनका अनुकूलन

AFTER और INSTEAD OF में चुनाव करना

CREATE TRIGGER MyFirstAfterTrigger
ON Table1
-- Triggered after 
-- the firing event (UPDATE)
AFTER UPDATE
AS
{trigger_actions_section};
CREATE TRIGGER MyFirstInsteadOfTrigger
ON Table2
-- Triggered instead of 
-- the firing event (UPDATE)
INSTEAD OF UPDATE
AS
{trigger_actions_section};
SQL Server में Triggers बनाना और उनका अनुकूलन

AFTER और INSTEAD OF में चुनाव करना

AFTER ट्रिगर

प्रारंभिक इवेंट ट्रिगर को फायर करता है

प्रारंभिक इवेंट निष्पादित होता है

ट्रिगर की कार्रवाइयाँ चलती हैं

AFTER ट्रिगर कैसे काम करता है

INSTEAD OF ट्रिगर

प्रारंभिक इवेंट ट्रिगर को फायर करता है

प्रारंभिक इवेंट अब निष्पादित नहीं होता

ट्रिगर की कार्रवाइयाँ चलती हैं

INSTEAD OF ट्रिगर कैसे काम करता है

SQL Server में Triggers बनाना और उनका अनुकूलन

AFTER ट्रिगर का उपयोग उदाहरण

  • सेल्स टेबल में डेटा इंसर्ट होता है
  • डेटा क्लीनसिंग प्रोसीज़र शुरू करें
  • प्रोसीज़र के परिणामों से टेबल रिपोर्ट जनरेट करें
  • डेटाबेस एडमिनिस्ट्रेटर को सूचित करें
CREATE TRIGGER SalesNewInfoTrigger
ON Sales
AFTER INSERT
AS

EXEC sp_cleansing @Table = 'Sales';
EXEC sp_generateSalesReport;
EXEC sp_sendnotification;
SQL Server में Triggers बनाना और उनका अनुकूलन

INSTEAD OF ट्रिगर का उपयोग उदाहरण

| Brand | Model    | Power | Stock |
|-------|----------|-------|-------|
| Ecco  | Standard | 30W   | 30    |
| Miry  | Buma     | 45W   | 0     |
| Lume  | Ultra    | 50W   | 0     |
  • कुछ मॉडलों की पावर बदलती है
CREATE TRIGGER BulbsStockTrigger
ON Bulbs
INSTEAD OF INSERT
AS
SQL Server में Triggers बनाना और उनका अनुकूलन

INSTEAD OF ट्रिगर का उपयोग उदाहरण

| Brand | Model    | Power | Stock |
|-------|----------|-------|-------|
| Ecco  | Standard | 30W   | 30    |
| Miry  | Buma     | 50W   | 100   |
| Lume  | Ultra    | 52W   | 100   |
  • कुछ मॉडलों की पावर बदलती है
  • केवल जिन प्रोडक्ट्स का स्टॉक नहीं है, उन्हें अपडेट करें
CREATE TRIGGER BulbsStockTrigger
ON Bulbs
INSTEAD OF INSERT
AS

IF EXISTS (SELECT * FROM Bulbs AS b INNER JOIN inserted AS i ON b.Brand = i.Brand AND b.Model = i.Model WHERE b.Stock = 0) BEGIN UPDATE b SET b.Power = i.Power, b.Stock = i.Stock FROM Bulbs AS b INNER JOIN inserted AS i ON b.Brand = i.Brand AND b.Model = i.Model WHERE b.Stock = 0 END
SQL Server में Triggers बनाना और उनका अनुकूलन

INSTEAD OF ट्रिगर का उपयोग उदाहरण

| Brand | Model    | Power | Stock |
|-------|----------|-------|-------|
| Ecco  | Standard | 30W   | 30    |
| Miry  | Buma     | 50W   | 100   |
| Lume  | Ultra    | 52W   | 100   |
| Ecco  | Standard | 35W   | 100   |
  • कुछ मॉडलों की पावर बदलती है
  • केवल जिन प्रोडक्ट्स का स्टॉक नहीं है, उन्हें अपडेट करें
  • जिन प्रोडक्ट्स का स्टॉक है, उनके लिए नई रो जोड़ें
-- First part was truncated for spacing reasons
IF EXISTS (SELECT * FROM Bulbs AS b
INNER JOIN inserted AS i
           ON b.Brand = i.Brand
          AND b.Model = i.Model
WHERE b.Stock = 0)
BEGIN
    UPDATE b
    SET b.Power = i.Power,
        b.Stock = i.Stock
    FROM Bulbs AS b
    INNER JOIN inserted AS i
                ON b.Brand = i.Brand
                  AND b.Model = i.Model
    WHERE b.Stock = 0
END
ELSE
    INSERT INTO Bulbs
    SELECT * FROM inserted;
SQL Server में Triggers बनाना और उनका अनुकूलन

Practice questions

SQL Server में Triggers बनाना और उनका अनुकूलन

Preparing Video For Download...