खोज…


परिचय

TRUNCATE कथन एक तालिका से सभी डेटा हटाता है। यह बिना किसी फ़िल्टर के DELETE के समान है, लेकिन, डेटाबेस सॉफ़्टवेयर के आधार पर, कुछ प्रतिबंध और अनुकूलन हैं।

वाक्य - विन्यास

  • TRUNCATE टेबल टेबल_नाम;

टिप्पणियों

TRUNCATE एक DDL (डेटा परिभाषा भाषा) कमांड है, और इस तरह इसके और DELETE (एक डेटा हेरफेर भाषा, डीएमएल, कमांड) के बीच महत्वपूर्ण अंतर हैं। जबकि TRUNCATE किसी डेटाबेस से बड़ी मात्रा में रिकॉर्ड को जल्दी से हटाने का एक साधन हो सकता है, इन निर्णयों को यह समझने के लिए समझा जाना चाहिए कि क्या TRUNCATE कमांड का उपयोग करना आपकी विशेष स्थिति में उपयुक्त है।

  • TRUNCATE एक डेटा पेज ऑपरेशन है। इसलिए जब आप TRUNCATE ऑपरेशन करते हैं तो तालिका से संबद्ध DML ट्रिगर (ON DELETE) में आग नहीं लगेगी। हालांकि यह बड़े पैमाने पर हटाने के संचालन के लिए बड़ी मात्रा में समय बचाएगा, हालांकि आपको संबंधित डेटा को मैन्युअल रूप से हटाने की आवश्यकता हो सकती है।
  • TRUNCATE हटाए गए पंक्तियों द्वारा उपयोग किए गए डिस्क स्थान को जारी करेगा, DELETE अंतरिक्ष को जारी करेगा
  • यदि तालिका को काट दिया जाएगा पहचान कॉलम (MS SQL सर्वर) का उपयोग करता है, तो बीज TRUNCATE कमांड द्वारा रीसेट किया जाता है। इससे संदर्भात्मक अखंडता समस्याएं हो सकती हैं
  • उपयोग में सुरक्षा भूमिकाओं और SQL के प्रकार के आधार पर, आपके पास TRUNCATE कमांड करने के लिए आवश्यक अनुमति नहीं हो सकती है

कर्मचारी तालिका से सभी पंक्तियों को हटाना

TRUNCATE TABLE Employee;

ट्रंकट टेबल का उपयोग करना अक्सर बेहतर होता है तो DELETE टेबल का उपयोग करना क्योंकि यह सभी इंडेक्स और ट्रिगर्स को अनदेखा करता है और बस सब कुछ हटा देता है।

डिलीट टेबल एक पंक्ति आधारित ऑपरेशन है इसका मतलब है कि प्रत्येक पंक्ति हटा दी जाती है। Truncate टेबल एक डेटा पेज ऑपरेशन है, जिससे पूरा डेटा पृष्ठ पुनः प्राप्त होता है। यदि आपके पास एक लाख पंक्तियों वाली तालिका है, तो यह तालिका को समाप्त करने की तुलना में तालिका को कम करने के लिए बहुत तेज़ होगा, हटाए गए तालिका विवरण का उपयोग करना होगा।

यद्यपि हम DELETE के साथ विशिष्ट पंक्तियों को हटा सकते हैं, हम विशिष्ट पंक्तियों को नहीं जोड़ सकते हैं, हम केवल एक बार में सभी अभिलेखों को TRUNCATE कर सकते हैं। सभी पंक्तियों को हटाना और फिर एक नया रिकॉर्ड सम्मिलित करना, पहले से डाले गए मूल्य से ऑटो बढ़े हुए प्राथमिक कुंजी मूल्य को जोड़ना जारी रखेगा, जहां ट्रंकट में, ऑटो इंक्रीमेंटल प्राथमिक कुंजी मान भी रीसेट हो जाएगा और 1 से शुरू होता है।

ध्यान दें कि टेबल को काटते समय, कोई भी विदेशी कुंजी मौजूद नहीं होनी चाहिए , अन्यथा आपको एक त्रुटि मिलेगी।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow