在数据库的一个表中,我有一个日期和时间列(datetime),用于存储事件发生的时间。我该如何删除 那件事发生后30分钟?
答案 0 :(得分:3)
您可以安排任务运行。这样可以:
delete from t
where datetimecol < dateadd(minute, -30, getdate());
但是,如何防止人们在删除它之前看到它呢?使用视图:
create view v_t as
select t.*
from t
where datetimecol >= dateadd(minute, -30, getdate());
任何访问该视图的人都只会看到最近的事件。定期-每天一次,每周一次,您可以安排工作来清除较旧的事件。