Write a function that updates version_actual_period_start with type timestamp. Look for an entry with the condition version_actual_period_end > current_timestamp . the user specifies the desired date, and the previous one, according to the time of the relevance of the record, is updated version_actual_period_end-becomes the same, but 1 second less. Input parameters time, database table name, version_meta_id array. Plpgsql
CREATE OR REPLACE FUNCTION update_version_actual_period_start(time timestamp, table_name text, version_meta_id integer[]) RETURNS void AS$$ DECLARE a integer; BEGIN FOR a IN array_lower(version_meta_id, 1)..array_upper(version_meta_id, 1) LOOP update table_name set version_actual_period_end = time - interval '1 second' where version_meta_id = version_meta_id[a] and version_actual_period_end > current_timestamp; END LOOP; END; $$ LANGUAGE plpgsql;