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

प्रत्येक कथन के लिए ट्रिगर उदाहरण

OLD और NEW कथन-स्तर ट्रिगर में शून्य या परिभाषित नहीं हैं। प्रति दस्तावेज़:

बोल्ड जोर मेरा।

पोस्टग्रेज 10 तक यह थोड़ा अलग, एक ही प्रभाव के लिए बहुत कुछ पढ़ता है, हालांकि:

हालांकि वे रिकॉर्ड वैरिएबल अभी भी स्टेटमेंट लेवल ट्रिगर्स के लिए किसी काम के नहीं हैं, एक नई सुविधा बहुत ज्यादा है:

पोस्टग्रेज 10+ में ट्रांज़िशन टेबल

पोस्टग्रेज 10 ने ट्रांजिशन टेबल पेश किए। वे प्रभावित पंक्तियों के पूरे सेट तक पहुंच की अनुमति देते हैं। मैनुअल:

कोड उदाहरणों के लिए मैनुअल के लिंक का अनुसरण करें।

उदाहरण स्टेटमेंट-लेवल ट्रिगर बिना ट्रांजिशन टेबल के

संक्रमण तालिकाओं के आगमन से पहले, वे और भी कम आम थे। एक उपयोगी उदाहरण सूचनाएं भेजना है। कुछ डीएमएल आदेशों के बाद।
मैं जो उपयोग करता हूं उसका एक मूल संस्करण यहां दिया गया है:

-- Generic trigger function, can be used for multiple triggers:
CREATE OR REPLACE FUNCTION trg_notify_after()
  RETURNS trigger
  LANGUAGE plpgsql AS
$func$
BEGIN
   PERFORM pg_notify(TG_TABLE_NAME, TG_OP);
   RETURN NULL;
END
$func$;

-- Trigger
CREATE TRIGGER notify_after
AFTER INSERT OR UPDATE OR DELETE ON my_tbl
FOR EACH STATEMENT
EXECUTE PROCEDURE trg_notify_after();

Postgres 11 या बाद के संस्करण के लिए समकक्ष, कम भ्रमित करने वाले सिंटैक्स का उपयोग करें:

...
EXECUTE FUNCTION trg_notify_after();

देखें:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल 3:पोस्टग्रेज द्वारा समर्थित ActiveRecord में कॉलम प्रकार के रूप में जेसन का उपयोग करते समय माइग्रेशन त्रुटि

  2. डेटाबेस त्रुटि:वर्तमान लेनदेन निरस्त कर दिया गया है, लेनदेन ब्लॉक के अंत तक आदेशों को अनदेखा कर दिया गया है?

  3. TextField पर URLField का उपयोग करने के लाभ?

  4. PostgreSQL ग्रुपिंग त्रुटि

  5. array_agg () की सीमा निर्धारित करें