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

INSERT का उपयोग करें ... संघर्ष पर कुछ भी नहीं लौटाने वाली विफल पंक्तियाँ

थोड़ा वर्बोज़, लेकिन मैं और कुछ नहीं सोच सकता:

with all_tags (name) as (
  values ('tag10'), ('tag6'), ('tag11')
), inserted (id, name) as (
   INSERT INTO tags (name)
   select name 
   from all_tags
   ON CONFLICT DO NOTHING 
   returning id, name
)
select t.id, t.name, 'already there'
from tags t
  join all_tags at on at.name = t.name
union all
select id, name, 'inserted'
from inserted;

tags . से बाहरी चयन तालिका के स्नैपशॉट को वैसे ही देखता है जैसे वह पहले . था नए टैग डाले गए। स्थिरांक वाला तीसरा स्तंभ केवल क्वेरी का परीक्षण करने के लिए है ताकि कोई यह पहचान सके कि कौन सी पंक्तियाँ डाली गई थीं और कौन सी नहीं।



  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. कैसे make_date () PostgreSQL में काम करता है

  3. क्या विभिन्न पूर्णांक प्रकारों में समान मान को सहेजने में कोई अंतर है?

  4. ArrayField के अंदर Django JSONField

  5. Postgresql ट्रंकेशन स्पीड