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

दूरस्थ रूप से संबंधित तालिका से मूल्यों की जांच करने के लिए बाधा (शामिल होने आदि के माध्यम से)

CHECK बाधाएं वर्तमान में अन्य तालिकाओं का संदर्भ नहीं दे सकती हैं। मैनुअल:

<ब्लॉककोट>

वर्तमान में, CHECK अभिव्यक्तियों में उपश्रेणियाँ नहीं हो सकती हैं और न ही वर्तमान पंक्ति के स्तंभों के अलावा अन्य चरों को संदर्भित किया जा सकता है।

एक तरीका है @Wolph द्वारा प्रदर्शित ट्रिगर का उपयोग करना।

एक स्वच्छ बिना ट्रिगर के समाधान :अनावश्यक कॉलम जोड़ें और उन्हें FOREIGN KEY . में शामिल करें बाधाएं , जो संदर्भात्मक अखंडता को लागू करने के लिए पहली पसंद हैं। विस्तृत निर्देशों के साथ dba.SE पर संबंधित उत्तर:

  • बाधाओं को लागू करना "दो टेबल दूर"

एक अन्य विकल्प "नकली" एक IMMUTABLE . होगा समारोह जाँच करना और उसका उपयोग CHECK . में करना बाधा पोस्टग्रेज इसकी अनुमति देगा, लेकिन संभावित चेतावनियों से अवगत रहें। सबसे अच्छा यह है कि एक NOT VALID बाधा देखें:

  • डंप को पुनर्स्थापित करते समय सभी बाधाओं और तालिका जांच को अक्षम करें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL 14 . में सर्वश्रेष्ठ नई सुविधाएँ

  2. पोस्टग्रेएसक्यूएल रिवर्स लाइक

  3. PostgreSQL लॉग से सर्वश्रेष्ठ कैसे प्राप्त करें

  4. क्या पोस्टग्रेज में कॉलम के प्राकृतिक क्रम को बदलना संभव है?

  5. JDBCTemplate BeanPropertyRowMapper के साथ नेस्टेड POJO सेट करें