PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

postgresql - ट्रिगर, फील्ड अपडेट पर टाइमस्टैम्प अपडेट करें

जब तक आप ट्रिगर को सक्रिय करने वाली पंक्ति में केवल परिवर्तन कर रहे हैं, तब तक BEFORE UPDATE का उपयोग करना कहीं अधिक आसान (और सस्ता) है ट्रिगर, जो new.complete_flag . में परिवर्तन कर सकता है UPDATE . चलाने के बजाय, इसे तालिका में सहेजे जाने से पहले बयान के बाद यह पहले से ही है।

आप UPDATE OF <column> के अद्यतन के साथ ट्रिगर को किसी विशेष फ़ील्ड के अपडेट तक सीमित कर सकते हैं CREATE TRIGGER का खंड बयान।

अंतिम परिणाम कुछ इस तरह दिखेगा:

CREATE FUNCTION completed_timestamp() RETURNS trigger AS $$
   LANGUAGE plpgsql
BEGIN
  IF new.complete_flag = 1 and old.completed_flag = 0 THEN
    new.complete_time := current_timestamp;
  END IF;
  RETURN new;
END;
$$;

CREATE TRIGGER update_timestamp
BEFORE UPDATE OF completed_flag ON tbl_pXXXX
FOR EACH ROW 
EXECUTE PROCEDURE completed_timestamp();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT से RETURNING ... ON CONFLICT . में बहिष्कृत पंक्तियों को कैसे शामिल करें

  2. पोस्टग्रेस्क्ल डेटाटाइम रूपांतरण के लिए जेसन प्रतिक्रिया जावा पोस्टग्रेस्क्ल

  3. नए स्थापित कनेक्शन को सत्यापित करने में विफल

  4. एक ही चयन एसक्यूएल क्वेरी में एसयूएम () से पर्सेंट की गणना करें

  5. एक बड़ी तालिका में पूर्ण डुप्लिकेट पंक्तियों की जाँच करें