过期日期的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()”错误:“>”附近的语法不正确。