SQL 触发到期日期

SQL trigger for expiration date

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

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

正如 Martin Smith 在评论中所建议的那样,触发器可能不是这里的最佳方法。相反,您可以使用 computed column,简而言之,该列的值由 table.

中的其他一些列计算 ("computed")

你的情况:

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