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

संगामिति समस्या सम्मिलित करें - बहुप्रचारित वातावरण

चाल अपने INSERT कथन में WHERE जोड़ने की है ताकि INSERT केवल तभी काम करे जब आइटम मौजूद न हो, उसके बाद SELECT कथन। मान लें कि रिकॉर्ड को एक आईडी कॉलम से पहचाना जा सकता है जिसे आप लिखेंगे:

INSERT INTO MyTable (ID,Col1,Col2,...) 
SELECT @IDValue,@Col1Value,@Col2Value, ...
WHERE NOT EXISTS (SELECT ID  
              FROM MyTable 
              WHERE [email protected]) 

SELECT *  
FROM MyTable 
Where [email protected] 

आपको कथनों को लेन-देन में रखने की आवश्यकता नहीं है क्योंकि प्रत्येक कथन अपने स्वयं के निहित लेनदेन में निष्पादित होता है। इस प्रकार, एक ही समय में दो INSERTS सफल होने का कोई तरीका नहीं है।

संपादित करें :INSERT ... चयन सिंटैक्स आवश्यक है क्योंकि TSQL INSERT कथन में VALUES और WHERE भाग की अनुमति नहीं देता है।



  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. NOT IN (सबक्वेरी) शून्य पंक्तियों का निर्माण

  3. LINQ2SQL - जब मैं इनर जॉइन करना चाहता हूं तो क्रॉस जॉइन उत्सर्जित होता है

  4. अपने SQL सर्वर इंस्टेंस द्वारा समर्थित डेटाबेस कोलाज को कैसे खोजें

  5. SQL सर्वर में त्रुटि संदेश 7325 को कैसे ठीक करें:"वितरित प्रश्नों में CLR प्रकार वाले स्तंभों को उजागर करने वाली वस्तुओं की अनुमति नहीं है"