Mit SQL einer vorhandenen Spalte einen Default-Wert zuweisen und ändern

Der Softwareentwickler Blog - PCHeute gibt es einen kleinen Tipp aus der Microsoft SQL Datenbank – Welt.

Wenn Ihr einer bestehenden Spalte in einer MS SQL Datenbank, die keinen Default-Wert besitzt, per SQL einen Default-Wert zuweisen wollt, dann funktioniert dies nicht, wie ich anfangs dachte, über den Befehl ALTER COLUMN.

Die Vorgehensweise ist eine andere, wie Ihr sehen werdet.

Denn anstatt ALTER COLUMN ist ALTER TABLE der richtige Ansatz. Mit dem Befehl ADD CONSTRAINT könnt Ihr dann nachträglich einer Spalte einen Default-Wert zuweisen.

Wenn man bedenkt, dass es sich beim Default-Wert um ein CONSTRAINT handelt, dann ist die Vorgehensweise auch ganz logisch.

Denn schließlich werden alle Constraints über die Tabelle zugewiesen. Aber im Nachhinein ist man immer schlauer.

So sieht die SQL-Syntax aus:

ALTER TABLE [Tabelle] ADD CONSTRAINT ConstraintName DEFAULT '' FOR [Spalte1]

Wenn Ihr einen Default-Wert einer bestehenden Spalte ändern wollt, dann müsst Ihr zuerst den alten Constraint löschen. Das macht Ihr mit DROP CONSTRAINT.

Hier seht Ihr wieder die SQL-Syntax für eine MS SQL Datenbank:

ALTER TABLE [Tabelle] DROP CONSTRAINT ConstraintName

Danach könnt Ihr dann über ADD CONSTRAINT (siehe das obige SQL-Snippet) den neuen Default-Wert zuweisen.

Hoffentlich konnte Euch dieser kleine SQL-Tipp weiter helfen.