Я пытаюсь понять, что делает оператор WITH VALUES
?
Я не могу найти какую-либо документацию, которая объясняет это правильно.
ALTER TABLE Table1
ADD newGuidId UniqueIdentifier NULL CONSTRAINT DF_Guid Default newid()
with values
Я пытаюсь понять, что делает оператор WITH VALUES
?
Я не могу найти какую-либо документацию, которая объясняет это правильно.
ALTER TABLE Table1
ADD newGuidId UniqueIdentifier NULL CONSTRAINT DF_Guid Default newid()
with values
WITH VALUES
применяет значения по умолчанию к пустым полям
http://technet.microsoft.com/en-us/library/ms187742.aspx и короткое сообщение в блоге об этом.
Когда вы добавляете столбец с нулевым с ограничением по умолчанию в таблицу, тогда все существующие строки получат новый столбец с NULL
в качестве значения. Определенные значения по умолчанию будут применены только к новым строкам, если они не имеют значения для этого столбца в инструкции INSERT
).
Когда вы укажете WITH VALUES
, тогда все существующие строки получат это значение по умолчанию вместо NULL
Если столбец, который вы добавляете в новую таблицу, не-nullable и имеет ограничение по умолчанию, тогда это значение по умолчанию применяется ко всем существующим строкам в таблице автоматически (нет необходимости в WITH VALUES
, потому что столбец должен иметь значение, отличное от NULL
)
WITH VALUES - указывает, что значение, указанное в константе DCEFAULT, сохраняется в новом столбце, добавленном к существующим строкам. Если добавленный столбец позволяет указать нулевые значения и WITH VALUES, значение по умолчанию сохраняется в новом столбце, добавленном к существующим строкам. Если WITH VALUES не указывается для столбцов, которые допускают значения NULL, значение NULL сохраняется в новом столбце в существующих строках. Если новый столбец не допускает значения null, значение по умолчанию сохраняется в новых строках независимо от того, указан ли параметр WITH VALUES.