我有一个Employee
带有列的表:Id, Name, Address, City, Createddate
现在,我必须在将createddate
记录插入表时添加此列,而不是通过使用 INSERT STATEMENT。
是否有任何默认选项可以在将行添加到表时添加日期信息?
在这方面给我建议。
我有一个Employee
带有列的表:Id, Name, Address, City, Createddate
现在,我必须在将createddate
记录插入表时添加此列,而不是通过使用 INSERT STATEMENT。
是否有任何默认选项可以在将行添加到表时添加日期信息?
在这方面给我建议。
将字段的默认值设置为Getdate()
如果没记错的话,当你创建一个表时,你可以让它自动放置值,比如身份(主键)或日期戳。请参见下面的示例:
CREATE TABLE [dbo].[table] (
tableID [int] IDENTITY(1,1) NOT NULL
, DatumCreate [datetime] DEFAULT GetDate() NOT NULL,
, other values ....
, CONSTRAINT pk_FactuurID PRIMARY KEY (FactuurID)
)
GO
是的,您可以按照其他人的建议使用默认值(带有GetDate()
),或者,如果您需要更大的灵活性(例如更新列),您可以使用触发器来检查插入的值并直接设置列值。
像这样:
CREATE TRIGGER my_trigger
ON my_table
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
if exists(select * from inserted)
-- we're covering just insert cases here..
begin
insert into my_table(col1, col2, col3, ..., col_timestamp)
select inserted.col1, inserted.col2...., CURRENT_TIMESTAMP from inserted
end
END
GO
好吧,您不必使用 INSERT,但您可能必须使用 CREATE