SQL 服务器中值的自动更新

Automatic update of values in SQL Server

例如,我有一个 table tb 列:

order_id | date_ordered | due_date | status

是否有任何开箱即用的解决方案,可以在当前时间(来自服务器)达到 due_date 列的值时自动更新 status 列?我该怎么做?

提前致谢。

更新:

像这样:

test1 | 2016-03-30 09:19:06.610 | 2016-03-30 11:19:06.610 | NEW
test2 | 2016-03-30 09:22:43.513 | 2016-03-30 11:22:43.513 | NEW
test3 | 2016-03-30 09:06:03.627 | 2016-03-30 11:06:03.627 | NEW

当服务器时间到达2016-03-30 11:19:06.610时,test1的状态值会改变,比如overdue

这取决于你所说的 "out of the box solution" 是什么意思。您可以创建一个 sql 服务器代理作业,它每分钟检查一次值 due_date 是否小于或等于当前日期和时间并更改状态列。

计算列可能是另一种更简单的解决方案。

像这样的 table 可能就足够了:

CREATE TABLE tb_test (
    order_id INT PRIMARY KEY,
    date_ordered  DATETIME,
    due_date DATETIME,
    [status] as 
    CASE WHEN due_date <= GETDATE() THEN 'overdue'
    ELSE 'new' END
 );