我有一个包含expiration_date
和isExpired
列的表格。如果列isExpired
通过当前日期,我想创建一个触发器,将列expiration_date
设置为1.
我没有使用触发器的经验。
答案 0 :(得分:3)
正如Martin Smith在评论中所说,触发器可能不是最好的方法。相反,您可以使用computed column,简而言之,该列的值由表中的其他列计算(“计算”)。
在你的情况下:
CREATE TABLE my_table (
col1 VARCHAR(10),
col2 VARCHAR(20),
expiration_date DATE,
is_expired AS CASE WHEN expiration_date > GETDATE() THEN 1 ELSE 0 END
);