每日 SQL 任务从表中删除内容

发布于 2024-09-25 13:57:08 字数 67 浏览 4 评论 0原文

嘿,我想知道如何在特定的表上设置清理任务来删除一周前的内容。

我正在使用 SQL Server 2005

Hey I was wondering how I could set up a clean up task on a particular table to delete contents thats lets say a week old.

I am using SQL Server 2005

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

圈圈圆圆圈圈 2024-10-02 13:57:08

在 SQL Server Management Studio 中,展开 SQL Server 代理,右键单击“作业”并

在“步骤”中选择“新建作业...”,创建一个“新建...”并输入以下内容:

DELETE YourTable WHERE YourDate<GETDATE()-7

或不考虑时间使用:

DELETE YourTable WHERE YourDate<DATEADD(day,DATEDIFF(day,0,GETDATE()-7),0)

在“时间表”中,您可以让它每周日或您需要的任何时间运行。

In SQL Server Management Studio, expand the SQL Server Agent, right click on "Jobs" and select "New Job..."

in "Steps", create a "New..." one and enter this:

DELETE YourTable WHERE YourDate<GETDATE()-7

or without regards to time use:

DELETE YourTable WHERE YourDate<DATEADD(day,DATEDIFF(day,0,GETDATE()-7),0)

in "Schedule", you can make it run every Sunday or whatever you need.

帝王念 2024-10-02 13:57:08

您可以创建一个作业来删除一周之前的所有内容。例如,

DELETE FROM MyTable
WHERE DateCreated <= dateadd(d, -7, getdate())

这假设您有某种方法来跟踪记录在表中的存在时间,并且还假设没有外键约束。

然后,您可以安排作业在用户未连接时运行。

You can create a job that deletes everything older than a week. For example,

DELETE FROM MyTable
WHERE DateCreated <= dateadd(d, -7, getdate())

This assumes, though, that you have some way of tracking how old your records are in the table, and it also assumes there are no foreign key constraints.

You can then schedule the job to run when users aren't connected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文