Hallo Daniel,

beim Anlegen einer Tabelle ist ein Default-Wert nicht erforderlich, da zu diesem Zeitpunkt in der Tabelle noch keine Sätze vorhanden sind.

Beim Hinzufügen einer Spalte zu einer bestehenden Tabelle wird davon ausgegangen, dass in der Tabelle bereits Sätze angelegt wurden. Da bei "NOT NULL" NULL als Unterlassungswert nicht zulässig ist, muss ein Defaultwert angegeben werden, damit die bereits bestehenden Sätze in der neuen Spalte mit einem Wert initialisiert werden können.

Aus diesem Grund muss beim Alter Table immer NOT NULL WITH DEFAULT angegeben werden.

Wenn Du übrigens über die Hilfe die Detail-Nachrichten von SQL0109 angeschaut hättest oder über die Messagefile den Detail-Text von Message-Id SQL0109 angezeigt hättest, hättest Du den folgenden Kommentar sehen müssen:
-- Die Klausel NOT NULL ist in der Definition einer Spalte, die zu einer Tabelle hinzugefügt wird, nicht zulässig, es sei denn, es ist ein Standardwert angegeben.
Birgitta