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 version_replace_period_start(IN _version_meta_id bigint, OUT _time timestamp) RETURNS timestamp AS $BODY$ DECLARE _version_meta_id_current bigint; _version_meta_id_current_time_start timestamp; _version_meta_id_current_time_end timestamp; _time_end timestamp; BEGIN _version_meta_id_current= (select version_meta_id from version_actual_period where version_meta_id=_version_meta_id and version_actual_period_end>now()); _version_meta_id_current_time_start=( select version_actual_period_start from version_actual_period where version_meta_id=_version_meta_id_current); _version_meta_id_current_time_end=( select version_actual_period_end from version_actual_period