構文:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
例:
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
注:
オプションの制約名:
CONSTRAINT D_SomeTable_SomeCol
を省略した場合 次に、SQLServerは自動生成します
デフォルト-次のような面白い名前の制約:DF__SomeTa__SomeC__4FB7FEF6
オプションのWith-Valuesステートメント:
WITH VALUES
列がNULL可能であり、既存のレコードにデフォルト値を使用する場合にのみ必要です。
列がNOT NULL
の場合 の場合、WITH VALUES
を指定するかどうかに関係なく、既存のすべてのレコードにデフォルト値
が自動的に使用されます。 かどうか。
インサートがデフォルト制約でどのように機能するか:
SomeTable
にレコードを挿入した場合 しない SomeCol
を指定します の値の場合、デフォルトで0
になります 。
レコードを挿入する場合および SomeCol
を指定します NULL
としてのの値 (そしてあなたの列はnullを許可します)、
その場合Default-Constraintはしません 使用され、NULL
値として挿入されます。
メモは、以下のすべての人のすばらしいフィードバックに基づいています。
特に感謝します:
@ Yatrix、@ WalterStabosz、@ YahooSerious、@StackManのコメント。