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

SQL सर्वर - [चयन] लॉक [अद्यतन] करता है?

हाँ - एक हद तक।

SELECT . कब तक साझा लॉक पर होल्ड करना लेन-देन के अलगाव स्तर पर निर्भर करता है:

  • READ UNCOMMITTED - कोई साझा लॉक प्राप्त नहीं होता - UPDATE अवरुद्ध नहीं है
  • READ COMMITTED - साझा लॉक केवल डेटा पढ़ने की अवधि के लिए प्राप्त किया जाता है - UPDATE बहुत कम समय के लिए अवरुद्ध किया जा सकता है
  • REPEATABLE READ और SERIALIZABLE - साझा लॉक प्राप्त कर लिया जाता है और लेन-देन के अंत तक जारी रहता है - UPDATE SELECT . तक ब्लॉक किया गया है लेन-देन समाप्त होता है

तकनीकी रूप से, UPDATE स्टेटमेंट को पहले एक UPDATE मिलता है लॉक - जो एक साझा लॉक के साथ संगत है (जैसा कि SELECT . द्वारा उपयोग किया जाता है) ) - उस समय की अवधि के लिए जब यह अद्यतन की जाने वाली पंक्तियों के वर्तमान मानों को पढ़ रहा हो।

एक बार यह हो जाने के बाद, Update तालिका में नया डेटा लिखे जाने के लिए लॉक को एक विशेष लॉक में बढ़ा दिया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlConnection.Close () स्टेटमेंट का उपयोग करके अंदर

  2. आप डेटाबेस में व्यू क्यों बनाते हैं?

  3. QUOTENAME का उपयोग किए बिना SQL सर्वर में सीमांकित पहचानकर्ताओं से बचने का सही तरीका

  4. SQL सर्वर RAISERROR स्टेटमेंट सरल उदाहरणों के साथ

  5. SQL में पंक्तियों को कॉलम में बदलें