एक UPDATE TRIGGER में
, आप OLD . का उपयोग कर सकते हैं पंक्ति डेटा तक पहुँचने के लिए कीवर्ड जिसे अद्यतन द्वारा प्रतिस्थापित किया जा रहा है। NEW कीवर्ड आने वाली पंक्ति डेटा तक पहुँचने की अनुमति देता है जो सफल होने पर पुरानी पंक्ति को बदल देगा।
UPDATE का एक उदाहरण ट्रिगर है:
CREATE TRIGGER upd_check AFTER UPDATE ON SomeTable
FOR EACH ROW
BEGIN
IF (OLD.LastChangedBy <> NEW.LastChangedBy) THEN
INSERT INTO AuditSomeTable(ID, LastChangedBy)
VALUES (OLD.ID, OLD.LastChangedBy);
END IF;
END;
SQLFiddle यहाँ
बनाए गए ट्रिगर के प्रकार के आधार पर, OLD और NEW पंक्तियाँ आपके लिए उपलब्ध नहीं हो सकती हैं:
ट्रिगर डालें
NEWतक पहुंच केवल छद्म पंक्तियाँ।
ट्रिगर अपडेट करें
NEWतक पहुंच औरOLDछद्म पंक्तियाँ
ट्रिगर हटाएं
- केवल
OLDतक पहुंच छद्म पंक्तियाँ
यानी कोई OLD नहीं है INSERT . पर पंक्ति ट्रिगर, और कोई NEW DELETE पर पंक्ति ट्रिगर।
ओपी का प्रश्न
ओपी ने वास्तविक कोड और टिप्पणियों में संदर्भित त्रुटि संदेश प्रदान नहीं किया है:
इंगित करता है कि ओपी ने अनजाने में एक INSERT TRIGGER बनाया था और UPDATE TRIGGER नहीं है जैसा कि प्रश्न में इंगित किया गया था। एक INSERT ट्रिगर का कोई OLD नहीं है छद्म तालिका।