我有一个如下的 SQL 触发器
GO
create trigger ExpDateCheckCard
On Card
FOR Insert, Update
As
Declare @expDate as DateTime
Select @expDate = inserted.ExpirationDate from inserted
if (YEAR(@expDate) < 1971 )
BEGIN
UPdate Card set ExpirationDate = '1900-01-01 00:00:00' FROM Card, inserted
where inserted.RecordID = Card.RecordID
END
如果我根据触发器运行时插入/更新的每条记录的触发器是正确的,它将检查该记录的 ExpirationDate 列中的 YEAR,如果该值小于 1971,那么它将使用更新查询中的日期对其进行更新.
奇怪的是它没有按预期工作。
if 条件似乎不起作用。
这个特定的触发器有什么问题。