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

एमएस एसक्यूएल सर्वर में कॉलम हटाना

आप जिस कमांड की तलाश कर रहे हैं वह है:

alter table tblName drop column columnName

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

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

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

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

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



  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. विंडोज सेवा से स्थानीय डीबी का उपयोग कैसे करें

  3. मैं एक विशिष्ट पंक्ति संख्या वाली तालिका से एक पंक्ति को कैसे हटा या चुन सकता हूँ?

  4. मामला जब अलग मूल्य है तो एक और मूल्य योग करें?

  5. सभी आश्रित पंक्तियों को कैसे हटाएं