到期日期的SQL触发器

时间:2015-03-09 06:01:21

标签: sql sql-server triggers ddl

我有一个包含expiration_dateisExpired列的表格。如果列isExpired通过当前日期,我想创建一个触发器,将列expiration_date设置为1.

我没有使用触发器的经验。

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
);