मैं इस ट्रिगर के अनुसार एक मेज अद्यतन करने के लिए कोशिश कर रहा हूँ:PostgreSQL उत्प्रेरक और पंक्तियों अद्यतन
CREATE TRIGGER alert
AFTER UPDATE ON cars
FOR EACH ROW
EXECUTE PROCEDURE update_cars();
उत्प्रेरक फंक्शन:
CREATE FUNCTION update_cars()
RETURNS 'TRIGGER'
AS $BODY$
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE hello_cars SET status = new.status
WHERE OLD.ID = NEW.ID;
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
ट्रिगर ठीक काम करता है। जब cars
तालिका अपडेट की जाती है, तो hello_cars
तालिका अपडेट की जाती है लेकिन प्रत्येक पंक्ति में स्थिति कॉलम अपडेट होता है और इसमें एक ही नई स्थिति होती है! इसे एक कार आईडी के अनुसार अपडेट किया जाना चाहिए।
मुझे लगता है कि मेरी समस्या हालत में है: WHERE OLD.ID = NEW.ID;
लेकिन मैं यह नहीं बता सकता कि क्या गलत है।
अग्रिम धन्यवाद।
धन्यवाद आप बहुत बहुत! – Noon
@Shadin: आपका स्वागत है। कृपया [एफएक्यू/कैसे पूछें] देखें (http://stackoverflow.com/faq#howtoask) उस उत्तर को कैसे स्वीकार करें जिसने आपको सबसे अधिक मदद की। –