2017-07-23 7 views
-1

我有一个存储过程,我想每天删除超过30天的行。如何在SQL Server中安排存储过程

这意味着,每天都会将一些数据保存在数据库中(新记录),并且第一天的数据将在30天后被删除。

再次在日常生活中。

DELETE ???? 
FROM Table1 
WHERE ???? 

而表1:

ID   INT 
Name1  TinyInt 
Name2  TinyInt 
Name3  TinyInt 
DateT  DateTime 
+0

的问题是重复的,看到https://stackoverflow.com/questions/5471080/how-to-schedule-a-job-for-sql-query-to每天运行 –

+0

[如何安排SQL查询作业每天运行?](https://stackoverflow.com/questions/5471080/how-to-schedule-a-job-for-sql-query每日运行) –

+0

这是我的问题:“第一天的数据将在30天后被删除。”那不是我的答案。请先阅读,然后回答(否定)。 – Safa

回答

0

发现了它。

在SQL Server代理,

DELETE FROM table1 
     WHERE DateT > dateadd(day, -30, getdate()) and DateT < dateadd(day, -29, getdate()) 
+0

请注意这里的时间组件。什么数据类型是DateT?它是否有时间组件? –

+0

@ Nick.McDermaid类型是'DateTime'。 – Safa