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

PL/pgSQL जाँच कर रहा है कि क्या कोई पंक्ति मौजूद है

सरल, छोटा, तेज़: EXISTS

IF EXISTS (SELECT 1 FROM people p WHERE p.person_id = my_person_id) THEN
  -- do something
END IF;

क्वेरी प्लानर मिली पहली पंक्ति पर रुक सकता है - count() . के विपरीत , जो सभी (मिलान) पंक्तियों की परवाह किए बिना स्कैन करेगा। बड़ी टेबल से फर्क पड़ता है। एक अद्वितीय कॉलम पर एक शर्त के लिए अंतर छोटा है:केवल एक पंक्ति योग्य होती है और इसे जल्दी से देखने के लिए एक अनुक्रमणिका होती है।

आप बस एक खाली SELECT का उपयोग कर सकते हैं सूची:

IF EXISTS (SELECT FROM people p WHERE p.person_id = my_person_id) THEN ...

SELECT EXISTS . के परिणाम पर सूची का कोई प्रभाव नहीं है . केवल कम से कम एक योग्यता पंक्ति का अस्तित्व मायने रखता है।



  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. Postgresql सुपरसुसर के रूप में "बनाया गया" के साथ डीबी नहीं बना रहा है, फिर भी त्रुटियों को आउटपुट नहीं कर रहा है

  3. BeanCreationException:'flywayInitializer' नाम से बीन बनाने में त्रुटि

  4. कैसे Atan2 () PostgreSQL में काम करता है

  5. SQLAlchemy, Psycopg2 और Postgresql COPY