* У меня есть функция, которая удаляет строки в таблице для данного идентификатора ввода, входные данные передаются функции с помощью другой функции cursor_function. *
select * from t1;
id | col1
----+-------
1 | user1
2 | user2
3 | user3
4 | user4
5 | user5
(5 rows)
create or replace function del_t1(int) returns void as $$
declare
a alias for $1;
begin
delete from t1 where id = a;
return;
end;
$$language plpgsql;
create or replace function del_cur(ref refcursor) returns void as $$
declare
a int;
begin
open ref scroll for select id from t1 where id > 3 order by id desc;
fetch first from ref into a;
perform del_t1(a);
loop
a := 0;
fetch next from ref into a;
perform del_t1(a);
if (a=0) then
exit;
end if;
end loop;
end;
$$ language plpgsql;
при выполнении функции
postgres# select del_cur('t1');
это не показывает ошибки, никаких выходных данных, курсор просто мигает, плз, помогите мне решить эту проблему, это небольшое описание моих больших таблиц базы данных, мне нужна функция курсора, которая будет передавать ее значения одно за другим функция.