我在SQL Server编程方面几乎是新手。今天我发现了这两种不同的策略来定义列的默认值,我想问问专家它们之间的区别。
给定这个表:
CREATE TABLE [dbo].[Data]
(
[RecDataW] [datetime] NULL
)
代码段 #1:
ALTER TABLE [dbo].[DatiSetup]
ADD DEFAULT (GETDATE()) FOR [RecDataW]
GO
片段 #2:
ALTER TABLE [dbo].[DatiSetup]
ADD CONSTRAINT [DF_DatiSetup_RecDataW] DEFAULT (GETDATE()) FOR [RecDataW]
GO
DEFAULT
是一个CONSTRAINT
,两者之间唯一的区别是在第二个中你显式地命名了约束为DF_DatiSetup_RecDataW
,而在第一个中没有。你也可以使用简化形式来创建表格,如CREATE TABLE dbo.Data (RecDataW DATETIME NOT NULL DEFAULT GETDATE())
。 - Siyual