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

एक बयान के आसपास एक लेनदेन क्या करता है?

यह कुछ नहीं करता है। सभी अलग-अलग SQL स्टेटमेंट, (बिना लॉग वाले बल्क इंसर्ट, या ट्रंकेट टेबल जैसे दुर्लभ अपवादों के साथ) स्वचालित रूप से "एक लेन-देन में" होते हैं, चाहे आप स्पष्ट रूप से ऐसा कहें या नहीं .. (भले ही वे लाखों पंक्तियों को सम्मिलित, अपडेट या हटा दें) .

संपादित करें:नीचे @ फिलिप की टिप्पणी के आधार पर ... SQL सर्वर के वर्तमान संस्करणों में, यहां तक ​​​​कि बल्क इंसर्ट्स और ट्रंकेट टेबल भी कुछ लिखते हैं लेन-देन लॉग में डेटा, हालांकि उतना नहीं जितना अन्य ऑपरेशन करते हैं। लेन-देन के दृष्टिकोण से महत्वपूर्ण अंतर यह है कि इन अन्य प्रकार के संचालन में, आपके डेटाबेस तालिकाओं में डेटा संशोधित किया जा रहा है, उस स्थिति में लॉग में नहीं है जो इसे वापस रोल करने की अनुमति देता है।

इसका मतलब यह है कि डेटाबेस में डेटा में स्टेटमेंट द्वारा किए गए परिवर्तन लेनदेन लॉग में लॉग किए जाते हैं ताकि ऑपरेशन विफल होने पर उन्हें पूर्ववत किया जा सके।

"शुरुआत लेनदेन", "प्रतिबद्ध लेनदेन" और "रोलबैक लेनदेन" कमांड प्रदान करने वाला एकमात्र कार्य आपको एक ही लेनदेन में दो या अधिक व्यक्तिगत SQL कथन डालने की अनुमति देना है।

संपादित करें:(अंक टिप्पणी को सुदृढ़ करने के लिए ...) हाँ, इसे "अंधविश्वासी" प्रोग्रामिंग के लिए जिम्मेदार ठहराया जा सकता है, या यह डेटाबेस लेनदेन की प्रकृति की मौलिक गलतफहमी का संकेत हो सकता है। एक अधिक धर्मार्थ व्याख्या यह है कि यह केवल संगति के अति-अनुप्रयोग का परिणाम है जो अनुचित है और इमर्सन व्यंजना का एक और उदाहरण है:

मूर्ख संगति छोटे दिमागों का शौक है,
छोटे राजनेताओं और दार्शनिकों और दैवीयों द्वारा पसंद किया जाता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटटाइम से INT . में कनवर्ट करें

  2. SQL सर्वर में संख्यात्मक, फ्लोट और दशमलव के बीच अंतर

  3. Microsoft SQL सर्वर प्रबंधन स्टूडियो प्राप्त करना और स्थापित करना

  4. क्या कोई .NET SQL सर्वर के newequentialid के बराबर है ()

  5. पीडीओ ओडीबीसी के माध्यम से पीएचपी को एमएसएसक्यूएल से कनेक्ट करें