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

PostgreSQL के नियम और अगला ()/सीरियल समस्या (बहुत PostgreSQL- विशिष्ट)

डॉक्सhttp://www.postgresql.org/docs/8.4/ से static/rules.html

इसलिए यह पहले कुछ भी क्रियान्वित किए बिना प्रश्नों को फिर से लिखता है।

जब आप एक साथ कई रिकॉर्ड नहीं डालते हैं तो आप इसे काम कर सकते हैं:

create or replace rule ct_i_children1 as
  on insert to Children1
  do instead (
    insert into Parents(id, attribute1, type)
      values(nextval('parents_id_seq'), new.attribute1, 'Child1');
    insert into Partial_Children1(id, attribute2, type)
      values(currval('parents_id_seq'), new.attribute2, 'Child1');
  );

तब आप यह कर सकते हैं:

insert into Children1 (attribute1, attribute2) values ('a1', 'a2');
insert into Children1 (attribute1, attribute2) values ('b1', 'b2');

लेकिन नहीं

insert into Children1 (attribute1, attribute2)
  values ('a1', 'a2'),
         ('b1', 'b2');

तो आपको वास्तव में ट्रिकी कर्वल () कॉल के साथ नियम प्रणाली का उपयोग नहीं करना चाहिए।

इसके अतिरिक्त इन पृष्ठों पर टिप्पणियों पर एक नज़र डालें:

एक और युक्ति:postgresql मेलिंग सूची में समर्थन डेटाबेस इंजन के समान ही उत्कृष्ट है!

और वैसे:क्या आप जानते हैं कि postgresql के पास इनहेरिटेंस आउट-ऑफ़-द-बॉक्स का समर्थन है?

सारांश:आपको ट्रिगर्स का उपयोग करना चाहिए या एकाधिक पंक्ति प्रविष्टि से बचना चाहिए!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉलम स्टोर प्लान

  2. क्या linux के लिए कोई अच्छा PostgreSQL क्लाइंट हैं?

  3. MySQL से PostgreSQL तालिका रूपांतरण बनाएं - वर्णसेट और संयोजन

  4. एक स्थानिक ऑपरेशन के इनपुट के रूप में कॉलम के मूल्य का उपयोग कैसे करें

  5. यह कैसे संभव है कि SQL क्वेरी और ActiveRecord.find_by_sql अलग-अलग परिणाम लौटाएं?