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

संघर्ष पर 9.5 पोस्टग्रेज करें चयन करें

आप सीटीई का उपयोग कर सकते हैं:

WITH cte AS (
   INSERT INTO "user"(timestamp, user_id, member_id)
   values ($1, $2, $3)
   ON CONFLICT (user_id, member_id) DO NOTHING
   RETURNING user_id
)
SELECT NULL AS result
WHERE EXISTS (SELECT 1 FROM cte)          -- success
UNION ALL
SELECT id 
FROM "user" 
WHERE user_id = $2 
  AND NOT EXISTS (SELECT 1 FROM cte);     -- conflict

DBFiddle डेमो




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django मॉडल में ट्रिग्राम (gin_trgm_ops) के साथ एक जिन इंडेक्स बनाना

  2. sqlalchemy के साथ जिन इंडेक्स का उपयोग करके रैंक किए गए खोज परिणाम लौटाते हैं

  3. n समूहीकृत श्रेणियां प्राप्त करें और दूसरों को एक में जोड़ें

  4. एक उत्पादन से एक परीक्षण डेटाबेस को एक ही क्रिया में कैसे क्लोन करें?

  5. दिनांक प्रारूप को जाने बिना दिनांक स्ट्रिंग को टाइमस्टैम्प में कैसे परिवर्तित करें