構文:
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のコメント。