The*_*ies 32 t-sql sql-server default
我一直试图理解这WITH VALUES句话的作用?
我似乎无法找到任何正确解释它的文档.
ALTER TABLE Table1
ADD newGuidId UniqueIdentifier NULL CONSTRAINT DF_Guid Default newid()
with values
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 40
当您向表中添加具有默认约束的可空列时,所有现有行将获取具有NULL其值的新列.定义的默认值将仅应用于正在插入的新行(如果它们的INSERT语句中没有该列的值).
指定时WITH VALUES,所有现有行将获得定义的默认值而不是NULL
如果要添加到新表的列不可为空且具有默认约束,则该默认值将自动应用于表中的所有现有行(不需要,WITH VALUES因为该列必须具有除以外的值NULL)
zed*_*xus 26
WITH VALUES 将默认值应用于空字段
http://technet.microsoft.com/en-us/library/ms187742.aspx和一篇关于它的简短博文.