我继承了一个自 SQL Server 6.5 以来就存在的数据库。它现在位于 SQL Server 2014 机器上,处于 SQL Server 2014 兼容模式。作为我对数据库的初步分析的一部分,我发现了几个具有可空列的表,这些表的默认约束值为 NULL。一个示例表脚本如下所示:
CREATE TABLE [dbo].[tester](
[tester_id int identity(1,1) not null primary key clustered,
[profile_type_key] [int] NOT NULL,
[reel_key] [int] NULL,
[product_key] [int] NULL,
[cd_percent_cov] [decimal](15, 4) NULL constraint DF_cd_percent_cov default (NULL),
[md_percent_cov] [decimal](15, 4) NULL constraint DF_md_percent_cov default (NULL))
SQL 显然允许这样做,但我很难理解为什么这些默认值存在。任何人都可以分享此类列定义的可能理由吗?
谢谢!