sql - डिफॉल्ट वैल्यू के साथ नलबल कॉलम को नल में बदलें




sql-server alter-table (3)

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

अब तक मुझे निम्न स्क्रिप्ट मिल गई है, जो ठीक काम करता है बशर्ते कि मैंने पहले सभी नल साफ़ कर दिए हों:

ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL 

क्या अल्टर स्टेटमेंट पर डिफ़ॉल्ट मान भी निर्दिष्ट करने का कोई तरीका है?


आपको दो प्रश्नों को निष्पादित करने की आवश्यकता है:

एक - आवश्यक कॉलम में डिफ़ॉल्ट मान जोड़ने के लिए

'तालिका_नाम' के लिए वैकल्पिक तालिका 'तालिका_नाम' डिफॉल्ट 'मान' जोड़ें

मैं कॉलम IsDeleted को डिफ़ॉल्ट मान जोड़ना चाहता हूं:

उदाहरण: वैकल्पिक तालिका [डीबीओ]। [कर्मचारी] IsDeleted के लिए डिफ़ॉल्ट 0 जोड़ें

दो - कॉलम मान को शून्य करने के लिए शून्य करने के लिए बदलने के लिए

वैकल्पिक तालिका 'table_name' ALTER COLUMN 'column_name' 'data_type' न्यूल नहीं

मैं कॉलम को हटा नहीं देना चाहता हूं क्योंकि शून्य नहीं है

वैकल्पिक तालिका [डीबीओ]। [कर्मचारी] कॉलम को हटाया गया है बिट नहीं हटाया गया है


आपको पहले उन सभी रिकॉर्ड्स को अपडेट करना पड़ सकता है जो डिफ़ॉल्ट मान पर शून्य हैं, फिर तालिका तालिका में परिवर्तन का उपयोग करें।

Update dbo.TableName
Set
Created="01/01/2000"
where Created is NULL

यदि इसका SQL सर्वर आप इसे डिज़ाइन व्यू के भीतर कॉलम गुणों पर कर सकते हैं

इसे इस्तेमाल करे?:

ALTER TABLE dbo.TableName 
  ADD CONSTRAINT DF_TableName_ColumnName
    DEFAULT '01/01/2000' FOR ColumnName




alter-column