Я також зіткнувся з цією потребою у своєму проекті бази даних. Я вирішив поділитися своїми висновками тут.
1) Не існує способу, щоб поле NOT NULL не було за замовчуванням, коли дані вже існують ( Чи можу я додати ненульовий стовпець без значення DEFAULT )
2) Цю тему розглядали давно. Ось запитання 2008 року ( Додайте стовпець із значенням за замовчуванням до існуючої таблиці в SQL Server )
3) Обмеження DEFAULT використовується для надання значення за замовчуванням для стовпця. Значення за замовчуванням буде додано до всіх нових записів, ЯКЩО не вказано інше значення. ( https://www.w3schools.com/sql/sql_default.asp )
4) Проект бази даних Visual Studio, який я використовую для розробки, дуже хороший у створенні сценаріїв змін для вас. Це сценарій змін, створений для моєї реклами БД:
GO
PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...';
GO
ALTER TABLE [dbo].[PROD_WHSE_ACTUAL]
ADD [DATE] DATE DEFAULT getdate() NOT NULL;
-
Ось кроки, які я зробив для оновлення бази даних за допомогою Visual Studio для розробки.
1) Додайте значення за замовчуванням (Visual Studio SSDT: DB Project: дизайнер таблиць)
2) Використовуйте інструмент порівняння схем для створення сценарію змін.
code already provided above
3) Перегляньте дані ПЕРЕД застосуванням змін.
4) Переглянути дані ПІСЛЯ застосування змін.