我有一张包含一个标识列和代表创建日期的列的表:
CREATE TABLE dbo.OrderStatus
(
OrderStatusId int IDENTITY(1, 1) NOT NULL,
CreationDate datetime NOT NULL default GETDATE(),
CONSTRAINT PK_OrderStatus PRIMARY KEY(OrderStatusId)
)
由于标识列会自动生成值并且CreationDate始终是当前日期(GETDATE()
),因此我可以通过DEFAULT VALUES
添加一行:
INSERT INTO dbo.OrderStatus DEFAULT VALUES;
如果我想添加三个记录,该怎么办呢?
当前解决方案(已编辑一些输入,因为它没有任何意义)
目前为止,为了实现我的需求,我使用 VALUES
添加了多行:
INSERT INTO dbo.OrderStatus (CreationDate)
VALUES (GETDATE()),
(GETDATE()),
(GETDATE())
虽然我更喜欢知道多行的INSERT INTO .. DEFAULT VALUES
等价于什么,以防我以后添加一个具有默认值的列。是否有一种方式可以使用
DEFAULT VALUES
或类似的方式将N行插入到表中?
INSERT INTO DEFAULT VALUES
等价物感兴趣。 - actaram