ANTON KADACH

Generation

text to sql syntaxTue, 17 Jan 2023

Функция plpgsql, которые находит все уникальные идентификаторы id из таблицы change_request_id, далее с циклом по таблице change_date ищет записи по change_request_id, копирует строки из change_data, создает их копию и связывает новые и старые строки между собой

create or replace function func_change_request() returns void as $$ DECLARE cr_id bigint; new_id bigint; old_id bigint; BEGIN for cr_id in (SELECT DISTINCT change_request_id from change_data) loop for old_id in (select id from change_data where change_request_id=cr_id) loop insert into change_data (change_request_id, change) select cr_id, change from change_data where id=old_id; select last_value into new_id from change_data_id_seq; insert into change_data_id (old_change_id, new_change_id) values (old_id, new_id); end loop; end loop;

Questions about programming?Chat with your personal AI assistant