COLUMN-Change-Definition (column_change_definition)
Durch Angabe einer COLUMN-Change-Definition (
column_change_definition ) in der ALTER TABLE-Anweisung können Sie die Eigenschaften einer Spalte ändern.Syntax
<column_change_definition> ::= COLUMN <column_name> NOT NULL
| COLUMN <column_name> DEFAULT NULL
| COLUMN <column_name> ADD <default_spec>
| COLUMN <column_name> ALTER <default_spec>
| COLUMN <column_name> DROP DEFAULT
Erläuterung
NOT NULL
NOT NULL
kann nur angegeben werden, wenn die Spalte keine NULL-Werte enthält. Nach erfolgreicher Ausführung der ALTER TABLE-Anweisung ist es nicht mehr möglich, einen NULL-Wert in die Spalte einzufügen.DEFAULT NULL
DEFAULT NULL
läßt einen NULL-Wert für die Spalte zu. Es wird nicht geprüft, ob ein NULL-Wert existierende CONSTRAINT-Definitionen der Tabelle verletzt. Daher kann das Einfügen des NULL-Wertes bei Ausführung einer INSERT- oder UPDATE-Anweisung scheitern.ADD <default_spec>
Die Spalte darf vor Ausführung der ALTER TABLE-Anweisung mit
ADD <default_spec> keine DEFAULT-Spezifikation ( default_spec ) besitzen. Durch ADD <default_spec> erhält die Spalte einen Vorschlagswert (DEFAULT-Wert).ALTER <default_spec>
Durch
ALTER <default_spec> wird der Vorschlagswert (DEFAULT-Wert) der Spalte geändert. Alle Zeilen, die in der Spalte den alten Vorschlagswert besitzen, bleiben unverändert.DROP DEFAULT
Durch
DROP DEFAULT wird die DEFAULT-Spezifikation der Spalte gelöscht. Wenn die Spalte Fremdschlüsselspalte einer referentiellen CONSTRAINT-Definition mit der DELETE-REGEL ON DELETE SET DEFAULT ist, scheitert die ALTER TABLE-Anweisung.