有2种方法:
1种是跑计划,定义1个计划job,让他每天运行1次。
2种是用触发器,当每次插入数据时,就触发。下面介绍触发器
-- 假设表名 tb,日期字段名 dt,
-- 假设数据库名 mytest
use mytest
go
-- 下面是建立1个触发器,当插入数据时,就删除比当前时间大365天的数据
create trigger [dbo].[tr_tb_auto_del]
on [dbo].[tb]
for insert
as
begin
delete [dbo].[tb] where datediff(day,dt,getdate()) > 365
end