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

बाधाओं की जाँच करें:TRY/CATCH बनाम Exists ()

मैंने वह लेख देखा है लेकिन ध्यान दें कि कम विफलता दर के लिए मैं "JFDI" पैटर्न को प्राथमिकता दूंगा। मैंने इसे पहले (40k पंक्तियों/सेकंड) उच्च वॉल्यूम सिस्टम पर उपयोग किया है।

हारून के कोड में, आप अभी भी एक डुप्लिकेट प्राप्त कर सकते हैं जब पहले उच्च भार और बहुत सारे लेखन के तहत परीक्षण किया जाता है। (यहां dba.se पर समझाया गया है ) यह महत्वपूर्ण है:आपके डुप्लिकेट अभी भी होते हैं, बस कम बार। आपको अभी भी अपवाद से निपटने और डुप्लिकेट त्रुटि को अनदेखा करने के बारे में जानने की आवश्यकता है (2627)

संपादित करें:रेमुस द्वारा एक अन्य उत्तर में संक्षेप में समझाया गया

हालांकि, मेरे पास केवल . का परीक्षण करने के लिए एक अलग TRY/CATCH होगा डुप्लिकेट त्रुटि के लिए

BEGIN TRY

-- stuff

  BEGIN TRY
     INSERT etc
  END TRY
  BEGIN CATCH
      IF ERROR_NUMBER() <> 2627
        RAISERROR etc
  END CATCH

--more stuff

BEGIN CATCH
    RAISERROR etc
END CATCH


  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. मैं एक बड़े बफर को बनाए बिना SQL सर्वर BLOB में .NET ऑब्जेक्ट का एक बड़ा ग्राफ कैसे क्रमबद्ध करूं?

  3. SQL CLR उपयोगकर्ता फ़ंक्शंस में उपयोग के लिए System.DirectoryServices को कैसे पंजीकृत करें?

  4. SQL सर्वर में एक टेबल पर DML ट्रिगर का प्रकार लौटाएं

  5. SQL सर्वर 2005 पर SQL Server 2008 के लाभ?