以下のような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 条件が機能していないようです。
この特定のトリガーに何か問題がありますか。