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

Postgresql:2 स्तंभों के संघ पर अद्वितीय बाधा

आप एक बहिष्करण बाधा का उपयोग कर सकते हैं जिसके लिए केवल एक ही अनुक्रमणिका की आवश्यकता होती है:

alter table transaction_links
  add constraint check_tx
  exclude using gist ( (array[send_id, receive_id]) with &&);

&& ऑपरेटर सरणियों के लिए "ओवरलैप" ऑपरेटर है - जिसका अर्थ है "ऐरे में तत्वों के क्रम की परवाह किए बिना समान तत्व हैं। इस मामले में बाधा किसी भी पंक्ति को सम्मिलित करने से रोकती है जहां (send_id, receive_id) तालिका की किसी अन्य पंक्ति में दिखाई देता है (स्तंभ की परवाह किए बिना)।

हालांकि, आपको intarray की आवश्यकता है उसके लिए विस्तार।

ऑनलाइन उदाहरण:https://rextester.com/QOYS23482




  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 में हर शब्द के पहले अक्षर को कैपिटलाइज़ कैसे करें

  2. कॉलम की निश्चित संख्या के साथ अल्पविराम से अलग किए गए मानों को लक्ष्य तालिका में विभाजित करें

  3. क्या हम तैयार कथन (PostgreSQL) में DDL कमांड का उपयोग कर सकते हैं?

  4. जब सभी बच्चे समान मान साझा करते हैं तो पैरेंट आईडी खोजें

  5. जीआईएसटी और जीआईएन इंडेक्स के बीच अंतर