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

PostgreSQL गतिशील रूप से कई तालिकाओं के लिए कोड उत्पन्न करने के लिए ट्रिगर करता है

मैं गलत दिखाने के लिए काफी उत्साहित हूं (मुझे कभी-कभी इसकी भी आवश्यकता होती है), लेकिन सबसे अच्छा मुझे पता है, चर का उपयोग करके कॉलम नामों का जिक्र करना उन मामलों में से एक है जहां आपको वास्तव में पीएल/सी ट्रिगर्स का उपयोग करने की आवश्यकता होती है पीएल/ पीजीएसक्यूएल ट्रिगर करता है। आपको ऐसे ट्रिगर के उदाहरण contrib/spi और PGXN पर मिलेंगे।

वैकल्पिक रूप से, अपने कॉलम को लगातार नाम दें ताकि उन्हें सीधे संदर्भित किया जा सके, उदा। NEW.tenant_code

व्यक्तिगत रूप से, मैं आम तौर पर एक ऐसा फ़ंक्शन लिखता हूं जो ट्रिगर बनाता है:

create function create_tg_stuff(_table regclass, _args[] text[])
  returns void as $$
begin
  -- explore pg_catalog a bit
  execute $x$
  create function $x$ || quote_ident(_table || '_tg_stuff') || $x$()
    returns trigger as $t$
  begin
    -- more stuff
    return new;
  end;
  $t$ language plpgsql;
  $x$;
end;
$$ language plpgsql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल पर पोस्टग्रेज FATAL:डेटाबेस मौजूद नहीं है

  2. तालिका app_employee के लिए एकाधिक प्राथमिक कुंजियों की अनुमति नहीं है।

  3. प्रति डेटाबेस प्रदाता प्रकार के स्वीकार्य पैरामीटर की अधिकतम संख्या क्या है?

  4. मेरे एयरफ्लो कार्य कतारबद्ध क्यों हैं लेकिन नहीं चल रहे हैं?

  5. PostgreSQL - सहसंबद्ध उप-क्वेरी विफल?