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_period_start( time_new timestamp, table_name text, -- table name version_meta_id int[] -- version_meta_id array ) RETURNS void AS $BODY$ DECLARE table_name_temp text; -- temporary table name version_meta_id_temp int[]; -- temporary version_meta_id array new_version_meta_id_temp int[]; -- new temporary version_meta_id array counter integer; -- counter time_current timestamp; -- current_timestamp time_old timestamp; -- previous timestamp BEGIN counter := 1; table_name_temp := 'temp_' || table_name; version_meta_id_temp := version_meta_id; time_current := current_timestamp; -- creating a temporary table EXECUTE 'CREATE TEMP TABLE ' || table_name_temp || ' (LIKE ' || table_name || ' INCLUDING ALL)'; --