Der Versuch, älter löschen Datensätze als 1 Monat von 2 Tabellen, wobei 1 verweist auf die Spalte "ID" in eine andere:PostgreSQL: Monat: = Intervall '30 Tage ';
create or replace function quincytrack_clean()
returns void as $BODY$
begin
month := interval '30 days';
delete from hide_id
where id in
(select id from quincytrack
where age(QDATETIME) > month);
delete from quincytrack
where age(QDATETIME) > month;
end;
$BODY$ language plpgsql;
aber irgendwie:
ERROR: syntax error at or near "month"
LINE 1: month := interval '30 days'
^
QUERY: month := interval '30 days'
CONTEXT: SQL statement in PL/PgSQL function "quincytrack_clean" near line 2
Ich lese the doc, aber verstehe nicht, was mit meiner Deklaration falsch ist ...
1 Monat ist nicht dasselbe wie 30 Tage: 12 Monate = 1 Jahr, 12 * 30 Tage = 360 Tage, 5 oder 6 Tage weniger als ein ganzes Jahr. Verwenden Sie '1 Monat', wenn Sie 1 Monat benötigen. –