我有一个SQL触发如下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
如果我是正确的按触发的/插入的每一条记录时触发运行时,它会检查一年的到期日期栏更新并且如果该值小于1971,那么它将用更新查询中的日期更新它。
奇怪的是它不按预期工作。
if条件似乎不起作用。
这个特定的触发器有什么问题。
您发现任何错误 – user2001117 2013-02-14 05:10:36
没有错误。 if条件始终使用第一个插入或更新的列的到期日期,并用于检查记录的其余部分。 – ckv 2013-02-14 05:14:15
ExpirationDate存储日期时间或日期.Year可以采用日期参数并使用我的代码尝试一次 – user2001117 2013-02-14 05:19:43