जवाबों:
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
NOT NULL
तो उसे उस क्वेरी में उल्लिखित किया जाना चाहिए, जो इसे NULL
डिफ़ॉल्ट रूप से सेट करेगा । ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
ALTER COLUMN
विशेषता NOT NULL
का उल्लेख किए बिना चलने से कॉलम को अशक्त में बदल दिया जाएगा, अगर यह पहले से ही नहीं है। इसलिए, आपको पहले जांचने की आवश्यकता है कि क्या कॉलम अशक्त है और यदि नहीं, तो विशेषता निर्दिष्ट करें NOT NULL
। वैकल्पिक रूप से, आप निम्न कथन का उपयोग कर सकते हैं जो पहले से कॉलम की अशक्तता की जांच करता है और सही विशेषता के साथ कमांड चलाता है।
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
निम्न चित्र में दिखाए गए डेटा प्रकार में तालिका -> डिज़ाइन -> परिवर्तन मूल्य चुनें।
सेव टेबल डिजाइन।
दिलचस्प दृष्टिकोण यहां पाया जा सकता है: स्पैगेटिडिबा द्वारा डाउनटाइम के साथ अपने कॉलम को कैसे बढ़ाएं
यदि आप इस कॉलम को एक सीधे "बेहतर टेबल" कमांड के साथ बढ़ाने की कोशिश करते हैं, तो आपको सभी पंक्तियों के माध्यम से जाने और नए डेटा प्रकार लिखने के लिए SQLServer का इंतजार करना होगा
ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;
इस असुविधा को दूर करने के लिए, एक जादुई स्तंभ वृद्धि की गोली है जिसे आपकी तालिका ले सकती है, और इसे रो संपीड़न कहा जाता है । (...) रो संपीड़न के साथ, आपके निश्चित आकार के कॉलम केवल सबसे छोटे डेटा प्रकार द्वारा आवश्यक स्थान का उपयोग कर सकते हैं जहां वास्तविक डेटा फिट बैठता है।
जब तालिका ROW
स्तर पर संकुचित होती है, तो ALTER TABLE ALTER COLUMN
मेटाडेटा केवल ऑपरेशन होता है।