0

テーブルの列のデフォルト値のポイントは何ですか? http://technet.microsoft.com/en-us/library/ms187872.aspxによると

SQL Server 2012 の列に入力される既定値は、SQL Server Management Studio または Transact-SQL を使用して指定できます。デフォルト値を割り当てず、ユーザーが列を空白のままにした場合:

  • NULL 値を許可するオプションを設定すると、列に NULL が挿入されます。
  • NULL 値を許可するオプションを設定しない場合、列は空白のままになりますが、ユーザーは列に値を指定するまで行を保存できません。

理解できません!列でヌルを許可しない場合、ユーザーから提供されていなければ、その列にデフォルト値を挿入する必要があります。では、なぜそうではないのでしょうか。

4

1 に答える 1

7

ドキュメントの一部を見逃しているに違いありません。

SQL Server 2012 の列に入力される既定値は、SQL Server Management Studio または Transact-SQL を使用して指定できます。 デフォルト値を割り当てず、ユーザーが列を空白のままにした場合: NULL 値を許可するオプションを設定すると、列に NULL が挿入されます。NULL 値を許可するオプションを設定しない場合、列は空白のままになりますが、ユーザーは列に値を指定するまで行を保存できません。

したがって、デフォルト値を割り当てると、ユーザーが列を空白のままにしたときに割り当てとして使用されます。

「少し奇妙なこと」は、ドキュメントが最初に DEFAULT を使用しない場合に何が起こるかを説明していることです (これはおそらくあなたが待っているものではありません: 使用するとどうなるか知りたいです) . 私の最初の「速すぎる」読書にも混乱しています。

于 2013-08-28T16:15:41.947 に答える