过期日期的SQL触发器

过期日期的SQL触发器,sql,sql-server,triggers,ddl,Sql,Sql Server,Triggers,Ddl,我有一个表,其中列为到期日和isExpired。我想创建一个触发器,如果列expiration\u date超过当前日期,则将列isExpired设置为1 我没有使用触发器的经验。正如Martin Smith在评论中所建议的,触发器可能不是最好的方法。相反,您可以使用,简言之,这是一个由表中其他一些列计算(“计算”)其值的列 就你而言: CREATE TABLE my_table ( col1 VARCHAR(10), col2 VARCHAR(20), expirati

我有一个表,其中列为
到期日
isExpired
。我想创建一个触发器,如果列
expiration\u date
超过当前日期,则将列
isExpired
设置为1


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

正如Martin Smith在评论中所建议的,触发器可能不是最好的方法。相反,您可以使用,简言之,这是一个由表中其他一些列计算(“计算”)其值的列

就你而言:

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

您可以为此使用计算列。确定。我也不知道那是什么@马丁史密斯:谢谢你的帮助@Mureinik。但在执行查询后出现错误:“ALTER TABLE tblInventory ADD isExpired as EXPR_DATE>GETDATE()”错误:“>”附近的语法不正确。