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

PostgreSQL में सशर्त और सबक्वायरी के साथ एक अद्वितीय अनुक्रमणिका कैसे बनाएं?

नियमों का उपयोग करने का नकारात्मक पक्ष यह है कि नियम केवल क्वेरी को पार्स करने के बाद फिर से लिखते हैं, इसलिए यदि डेटा को ट्रिगर के माध्यम से जोड़ा जाता है, तो यह सक्रिय नहीं होगा। एक चेक बाधा जोड़ना सुरक्षित है जो आपके तर्क के साथ फ़ंक्शन को कॉल करता है। अगर मैं आपके तर्क का सही ढंग से पालन करूँ, तो यह कुछ इस तरह होना चाहिए:

CREATE OR REPLACE FUNCTION check_user_client(fkc int) 
  RETURNS boolean AS
$$
DECLARE
  i int;
BEGIN
  SELECT count(*) INTO i FROM legal_entity WHERE fk_client = fkc;
  IF (i > 0) THEN
    RETURN true;
  END IF;

  SELECT count(*) INTO i FROM user_client WHERE fk_client = fkc;
  IF (i = 0) THEN
    RETURN true;
  END IF;

  RETURN false;  
END
$$ LANGUAGE plpgsql;

ALTER TABLE user_client ADD CONSTRAINT unique_user CHECK (check_user_client(fk_client));


  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. पोस्टग्रेज - दो कॉलम को एक आइटम में एकत्रित करें

  3. जेपीए अपरकेस टेबल नाम

  4. PostgreSQL लेनदेन के भीतर वास्तविक समय कैसे प्राप्त करें?

  5. यूपीएसईआरटी परीक्षण कोड में सिंटेक्स त्रुटि