【发布时间】:2015-02-26 20:30:47
【问题描述】:
我有一个名为 YearTable 的表,其中包含三列(Year、Status 和 LastUpdatedTime)。每次有人将值添加/更新到年份或状态列 LastUpdatedTime 时都需要更新。我为此编写了一个触发器,但现在每次尝试添加新记录时都会收到一条错误消息:
错误源:.NetSqlClient 数据提供程序。 错误消息:无法将值 NULL 插入到列“Year”、表“Budget.YearTable”中;列不允许空值。插入失败。
这是触发器:
CREATE TRIGGER UpdateTrigger
ON YearTable
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
insert into tblaudit(LastUpdatedTime)
values(GETDATE())
END
GO
【问题讨论】:
-
代码没有正确复制:
-
ALTER TRIGGER [dbo].[UpdateTrigger] ON [dbo].[YearTable] 在插入、删除、更新开始后插入 YearTable(LastUpdatedTime) 值(GETDATE()) END
-
您的触发器是插入到
YearTable还是tblAudit表中?您在问题中列出了一个,而在评论中列出了另一个... -
是的,我注意到了,我在 cmets 中修复了它。
标签: sql sql-server triggers