我想在PostgreSQL数据库中创建一个过程,该过程将从表中删除超过3个月的数据,并应在删除后的每一天提交,然后继续删除,直到达到3个月的间隔。我写了SQL,但有麻烦的过程。
从testdrop中删除,其中create_date<=current_date - interval '3 month';
先谢了。
我创建了下面的过程,但我不知道如何在这里包括每天删除后的提交。
CREATE OR REPLACE PROCEDURE test_drop()
LANGUAGE plpgsql
AS
$$
DECLARE
c RECORD;
BEGIN
FOR c IN ( delete
from testdrop
where create_date<=current_date - interval '3 month';
)
END;
$$;
字符串
1条答案
按热度按时间holgip5t1#
你必须创建一个你想要删除的日期列表,并在一个delete语句中执行每个日期。你可以使用generate_series()来创建日期列表。类似这样的东西应该可以工作:
字符串