У меня есть псевдо-хранимая процедура, как указано ниже:
CREATE OR REPLACE FUNCTION get_data()
RETURNS void AS $$
DECLARE
rec_new RECORD;
querystring TEXT[];
cursor_file CURSOR FOR
select * from tableA;
BEGIN
--open the file cursor
OPEN cursor_file;
LOOP
FETCH cursor_file into rec_new;
EXIT WHEN NOT FOUND;
querystring='{insert into tableB(fileid) values %}',rec_new.fileid;
END LOOP;
CLOSE cursor_file;
END; $$
LANGUAGE plpgsql;
Я хочу создать несколько запросов на вставку с итерацией динамического fileId по циклу и поместить их в строковый массив ('querstring')
, разделенный запятой. Код выше не дает мне точного результата. Как правильно достичь этого?
Ожидаемый результат:
{insert into tableB(fileid) values ('fileA'),
insert into tableB(fileid) values ('fileB'),
insert into tableB(fileid) values ('fileC')}
Затем этот массив querystring
также должен быть выполнен.