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

एक ही घटना पर ट्रिगर से पहले और बाद में? चाइल्ड टेबल पोस्टग्रेएसक्यूएल भरें

अगर मैं आपको सही ढंग से समझता हूं तो आप यह करने का प्रयास कर रहे हैं:

  1. इन्सर्ट को रोकें, और इसे किसी अन्य टेबल में इंसर्ट से बदलें (ट्रिगर द्वारा निर्धारित)
  2. सारांश तालिका अपडेट करें (delete /insert ) नई पंक्ति को इंगित करने के लिए।

आपकी समस्या यह है कि 1, 2 को होने से रोकता है? यह तार्किक है क्योंकि आपने इंसर्ट को रोक दिया है इसलिए आपने इंसर्ट पर भी कोई प्रोसेसिंग रोक दी है।

तो इसे हल करने के लिए आपके पास कुछ विकल्प हैं (विकल्प 1 और 2 समान हैं)

  1. कॉल करें update_object_last_known_position() insert_position() . से और केवल एक ट्रिगर है
  2. दोनों के लिए एक रैपर विधि बनाएं insert_position() और update_object_last_known_position() और केवल एक ट्रिगर है।
  3. update_object_last_known_position() के लिए ट्रिगर लगाएं उन सभी टेबलों पर जो insert_position() में सम्मिलित कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जेपीए के साथ पोस्टग्रेज JSONB डेटाटाइप का उपयोग कैसे करें?

  2. क्या आप पोस्टग्रेज में पहले से मौजूद कॉलम पर अनुक्रम बना सकते हैं?

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

  4. PostgreSQL में विदेशी कुंजी + तालिका विरासत?

  5. PostgreSQL HTML संस्थाओं के कार्य को प्रतिस्थापित करता है