Ich bin auch auf dieses Bedürfnis für mein Datenbankprojekt gestoßen. Ich habe beschlossen, meine Erkenntnisse hier zu teilen.
1) Es gibt keine Möglichkeit zu einem NOT NULL-Feld ohne Standard, wenn bereits Daten vorhanden sind ( Kann ich eine Nicht-Null-Spalte ohne DEFAULT-Wert hinzufügen ) ?
2) Dieses Thema wurde lange angesprochen. Hier ist eine Frage aus dem Jahr 2008 ( Hinzufügen einer Spalte mit einem Standardwert zu einer vorhandenen Tabelle in SQL Server )
3) Die DEFAULT-Einschränkung wird verwendet, um einen Standardwert für eine Spalte bereitzustellen. Der Standardwert wird allen neuen Datensätzen hinzugefügt, wenn kein anderer Wert angegeben ist. ( https://www.w3schools.com/sql/sql_default.asp )
4) Das Visual Studio-Datenbankprojekt, das ich für die Entwicklung verwende, ist wirklich gut darin, Änderungsskripte für Sie zu generieren. Dies ist das Änderungsskript, das für meine DB-Heraufstufung erstellt wurde:
GO
PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...';
GO
ALTER TABLE [dbo].[PROD_WHSE_ACTUAL]
ADD [DATE] DATE DEFAULT getdate() NOT NULL;
- -
Hier sind die Schritte, die ich unternommen habe, um meine Datenbank mit Visual Studio für die Entwicklung zu aktualisieren.
1) Standardwert hinzufügen (Visual Studio SSDT: DB-Projekt: Tabellen-Designer)
2) Verwenden Sie das Schema-Vergleichstool, um das Änderungsskript zu generieren.
code already provided above
3) Zeigen Sie die Daten an, bevor Sie die Änderung anwenden.
4) Zeigen Sie die Daten an, nachdem Sie die Änderung übernommen haben.