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

'IF EXISTS... UPDATE .. ELSE .. INSERT' का उपयोग करने का खतरा और विकल्प क्या है?

MERGE का उपयोग करें

आपका एसक्यूएल विफल हो जाता है क्योंकि INSERT होने से पहले 2 समवर्ती ओवरलैपिंग और बहुत करीबी कॉल दोनों EXISTS से "झूठी" प्राप्त करेंगे। इसलिए वे दोनों INSERT करने की कोशिश करते हैं, और निश्चित रूप से एक विफल हो जाता है।

इसे यहाँ और अधिक समझाया गया है:pattern-for-high-concurr/3594328#3594328">अप्सर्ट का संस्करण चुनें/सम्मिलित करें:क्या उच्च संगामिति के लिए कोई डिज़ाइन पैटर्न है? हालांकि यह उत्तर पुराना है और MERGE जोड़े जाने से पहले लागू होता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2016:एक डेटाबेस बनाएँ

  2. VB.NET में कनेक्शन स्ट्रिंग में फ़ेलओवर पार्टनर कैसे जोड़ें

  3. मैं सी # में एसक्यूएल फ़ंक्शन कैसे कॉल कर सकता हूं?

  4. टी-एसक्यूएल ट्रिम   (और अन्य गैर-अल्फ़ान्यूमेरिक वर्ण)

  5. थोड़ी देर में अस्थायी तालिका से पंक्ति गणना का उपयोग करना SQL सर्वर 2008