Sql 创建已创建日期和更新日期的表(只读)
我想知道是否有可能在每次创建或更新记录时创建一个具有创建日期和更新日期的表 例如,当我在该表中插入一条记录时,创建日期将在与更新日期相同的表中自动生成 修改此记录时,创建日期不会更改,但更新日期将根据日期更改Sql 创建已创建日期和更新日期的表(只读),sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我想知道是否有可能在每次创建或更新记录时创建一个具有创建日期和更新日期的表 例如,当我在该表中插入一条记录时,创建日期将在与更新日期相同的表中自动生成 修改此记录时,创建日期不会更改,但更新日期将根据日期更改 非常感谢您可以将列的默认值设置为等于GetDate(),这将把创建日期设置为创建记录的时间。这不适用于UpdateDate,因为创建记录时将使用默认值。对于此列,可以使用更新后触发器。以下链接显示了如何创建一个: 您可以将列的默认值设置为等于GetDate(),这会将创建日期设置为创建记录
非常感谢您可以将列的默认值设置为等于GetDate(),这将把创建日期设置为创建记录的时间。这不适用于UpdateDate,因为创建记录时将使用默认值。对于此列,可以使用更新后触发器。以下链接显示了如何创建一个:
您可以将列的默认值设置为等于GetDate(),这会将创建日期设置为创建记录的时间。这不适用于UpdateDate,因为创建记录时将使用默认值。对于此列,可以使用更新后触发器。以下链接显示了如何创建一个:
触发器是最合适的选项。您可以参考触发器的示例,如下所示
CREATE TRIGGER dbo.TableTriggerName
ON dbo.TableName
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON;
--
-- Check if this is an INSERT, UPDATE or DELETE Action.
-- Set Action to Insert by default.
IF EXISTS(SELECT * FROM DELETED)
BEGIN
END
ELSE
IF NOT EXISTS(SELECT * FROM INSERTED) RETURN; -- Nothing updated or inserted.
...
END
触发器是最合适的选项。您可以参考触发器的示例,如下所示
CREATE TRIGGER dbo.TableTriggerName
ON dbo.TableName
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON;
--
-- Check if this is an INSERT, UPDATE or DELETE Action.
-- Set Action to Insert by default.
IF EXISTS(SELECT * FROM DELETED)
BEGIN
END
ELSE
IF NOT EXISTS(SELECT * FROM INSERTED) RETURN; -- Nothing updated or inserted.
...
END
触发器应该处理它。最合适的选项是数据库中的触发器。触发器应该处理它。最合适的选项是数据库中的触发器。这显示了触发器的框架,但它忽略了实际问题。显示如何为受更新影响的行更新基表中的值的逻辑在哪里?这显示触发器的框架是什么样子,但它忽略了实际问题。其中是显示如何为受更新影响的行更新基表中的值的逻辑?