2009-04-16 19 views
36

में कॉलम हटाना मैं मौजूदा तालिका से कॉलम कैसे हटा सकता हूं?एमएस एसक्यूएल सर्वर

+0

संभावित डुप्लिकेट [मौजूदा तालिका से कॉलम को कैसे निकालें?] (Http: // stackoverflow।कॉम/प्रश्न/5626344/कैसे-से-हटा-ए-कॉलम-से-मौजूदा-तालिका) –

+1

दरअसल, दूसरा प्रश्न इस के 2 साल बाद लिखा गया था ताकि यह डुप्लिकेट हो। –

उत्तर

82

आदेश के लिए आप देख रहे हैं:

alter table tblName drop column columnName 

जहां tblName तालिका का नाम है और columnName स्तंभ का नाम है, लेकिन वहाँ कुछ चीजें आप की आवश्यकता हो सकती है पहले करने के लिए।

  • यदि कॉलम के लिए कोई विदेशी कुंजी संदर्भ हैं, तो आपको पहले उनसे छुटकारा पाना होगा।
  • यदि उस कॉलम का उपयोग कर कोई अनुक्रमणिका है, तो आपको या तो इससे छुटकारा पाना होगा या उस कॉलम का उपयोग न करने के लिए इसे समायोजित करना होगा।

ध्यान रखें कि इस आदेश के प्रदर्शन जरूरी अच्छा नहीं हो सकता। एक विकल्प डाउन-टाइम अवधि की प्रतीक्षा करना है जब आप निश्चित हो सकते हैं कि कोई भी डेटाबेस तक नहीं पहुंच पाएगा, वर्तमान तालिका का नाम बदलें, फिर हटाए गए कॉलम को स्थानांतरित करने के लिए create table और insert into ... select from का उपयोग करें।

ओरेकल के बाद के रिलीज़ में से एक में वास्तव में एक मुलायम डिलीट होता है जो शारीरिक रूप से इसे हटाए बिना एक कॉलम को अप्रयुक्त के रूप में चिह्नित कर सकता है। इसका एक ही प्रभाव है क्योंकि आप अब इसका संदर्भ नहीं दे सकते हैं और alter table ... drop unused columns की तर्ज पर एक कमांड है जो कि शांत समय में चलने के लिए है, जो वास्तव में इसे शारीरिक रूप से हटाने का कड़ी मेहनत करता है।

व्यस्त समय के दौरान डेटाबेस प्रदर्शन को खींचने के तुरंत बाद कॉलम को "गायब" करने का लाभ होता है।

3

बड़ी तालिकाओं के लिए यह बहुत धीमा हो सकता है। यह एक नई तालिका बनाने के लिए अक्सर बहुत तेज़ हो सकता है, पुराने का डुप्लिकेट लेकिन परिवर्तनों के साथ, और डेटा डालना। पुरानी तालिका ड्रॉप करें और फिर नई तालिका का नाम बदलें।

2

यह एसएसएमएस जीयूआई के माध्यम से भी किया जा सकता है।

मुझे यह विधि पसंद है क्योंकि यह आपको चेतावनी देता है कि उस कॉलम पर कोई संबंध हैं या नहीं और स्वचालित रूप से उन्हें भी हटा सकते हैं। जैसा कि पैक्सडिब्लो कहते हैं, यदि संबंध हैं, तो उन्हें पहले हटा दिया जाना चाहिए। इसलिए तरह डिज़ाइन दृश्य में

  1. रखें तालिका (सही मेज पर क्लिक करें):

enter image description here

  1. सही तालिका डिज़ाइन दृश्य में कॉलम पर क्लिक करें और क्लिक "हटाएँ कॉलम"

enter image description here

इस बिंदु पर, यदि कोई रिश्ते हैं जिन्हें हटाने की भी आवश्यकता होगी, तो यह आपको पूछेगा कि क्या आप उन्हें भी हटाना चाहते हैं।

संबंधित मुद्दे