Есть ли причина указывать DEFAULT (NULL) в столбце, который может содержать NULL? - PullRequest
17 голосов
/ 23 сентября 2011

У меня есть таблица, созданная следующим образом:

CREATE TABLE dbo.XX (
YY int DEFAULT(NULL)
)

Если вы сделаете это, а затем создадите сценарий для таблицы, вы получите следующий код плюс случайное имя по умолчанию:

CREATE TABLE [dbo].XX([YY] [int] NULL) 
GO
ALTER TABLE [dbo].XX ADD  DEFAULT (NULL) FOR [YY]
GO

Есть ли реальная точка в указании DEFAULT (NULL) для столбца вместо того, чтобы просто оставить его как [YY] [int] NULL на первом месте?

Ответы [ 2 ]

17 голосов
/ 23 сентября 2011

Нет необходимости добавлять DEFAULT(NULL) к обнуляемым столбцам.

Если данные не передаются в такие столбцы, они будут иметь NULL.

Единственное преимущество, которое я вижу, - это то, что Ларри Люстиг опубликовал в своем комментарии к вопросу - в нем задокументирован тот факт, что вы не забыли добавить значение по умолчанию для столбца, допускающего пустые значения.

6 голосов
/ 23 сентября 2011

Ни о чем я не могу думать.

INSERT INTO [dbo].XX([YY])  VALUES (DEFAULT)

INSERT INTO [dbo].XX([YY])  DEFAULT VALUES 

Работать одинаково в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...