gpt4 book ai didi

sql - 删除早于 N 天的记录的存储过程

转载 作者:行者123 更新时间:2023-12-04 22:41:20 25 4
gpt4 key购买 nike

我想创建两个存储过程,用于从 stgging 数据库中删除早于 N 天的记录。

两个存储过程都会调用一个包来清理超过 N 天的数据。

存储过程 A 将从表 A.Fullimport 中删除记录,存储过程 B 将从表 B.weeklyimport 中删除记录。

相同的存储过程将从错误表中删除表 x 和表 Y 中没有记录的所有记录。

两个存储过程都将接受输入变量@Cleanupdays

最佳答案

基本上,您必须编写如下内容:

CREATE PROCEDURE dbo.CleanupTableA (@CleanupDays INT)
AS BEGIN
DELETE FROM A.Fullimport
WHERE DATEDIFF(DAY, SomeDateField, GETDATE()) > @CleanupDays
END

或类似的东西 - 没有确切的表结构,很难完全正确......

DATEDIFF 函数可以为您提供不同单位的两个日期之间的差异 - 例如在几天内,如您所愿(也可以是几周、几个月、一年等)。您基本上需要做的就是删除所有 DATEDIFF 到今天的日期的行,该日期大于传递到存储过程中的 @CleanupDays 的值。

我不太明白你对错误表的意思......你可能需要澄清一下......

关于sql - 删除早于 N 天的记录的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com