2つのテーブルから1ヶ月よりも古いレコードを削除しようとすると、別のWHERE 1つの参照 "ID" 欄:PostgreSQL:月:=間隔'30日 ';
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;
が、これはで失敗します。私はthe docを読んでいる
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
、宣言に何が問題なのか理解していない...
1ヶ月は30日と同じではありません:12ヶ月= 1年、12 * 30日= 360日、5または6日未満の1年間。 1ヶ月が必要な場合は「1ヶ月」を使用してください。 –