在SQL数据库中怎么在系统时间超过指定时间的时候自动更新一条记录

在SQL数据库中如何在系统时间超过指定时间的时候自动更新一条记录
比如设置一个记录的时间是6小时
id      name     type   startime    endtime  
 
1       张三       1         10:00          06:00

有什么方法写   倒计时6小时后 跟系统时间比(也就是系统时间16点的时候)    type改成0
 
不知道我有没表述清楚 求教  asp。net    mssql
------解决方案--------------------
在SQL Server 的作业中创建一个作业,每小时运行一次,里面的脚本逻辑大概是判断当前时间和startime+endtime是否等于getdate()的值。如果等于则update,否则不做任何操作,说白了就是:
update tb
set type=0
where startime+endtime=getdate()  这里startime+endtime要做处理,因为只有时分,没有年月日和秒
------解决方案--------------------
纯SQL Server做不到,它毕竟主要拿来“存取”数据,不是用来做这些定时的,定时功能一般要用SQL Agent。
------解决方案--------------------
数据库设计不合理,应该是
id  name  type  startime             endtime              durationtime
 1  张三  ?     2014-07-04 10:00:00  2014-07-04 16:00:00  06:00

也不用开定时任务了,把 type 做成计算字段:
starttime < 当前时间 : -1 任务没启动,有这种可能吧
endtime < 当前时间 : 1
否则 : 0
------解决方案--------------------
CREATE TABLE task (
    id           int,
    name         nvarchar(30),
    type         AS (CASE WHEN starttime > GetDate() THEN -1
                          WHEN endtime < GetDate() THEN 1
                          ELSE 0
                     END),
    starttime    datetime,
    endtime      datetime,
    durationtime AS (endtime-starttime)
)

INSERT INTO task (id,name,starttime,endtime) VALUES(1,N'张三', '2014-07-04 10:00:00', '2014-07-04 16:00:00')
INSERT INTO task (id,name,starttime,endtime) VALUES(2,N'李四', '2014-07-07 10:00:00', '2014-07-07 16:00:00')
INSERT INTO task (id,name,starttime,endtime) VALUES(3,N'王五', '2014-08-01 10:00:00', '2014-08-01 16:00:00')

SELECT * FROM task