가 입력 다른 cursor_function하여 함수에 부여하는 다른 기능으로 커서 값을 전달. *내가 소정의 입력 ID의 테이블의 행을 삭제하는 기능을 갖는다 *
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');
그것은 오류없이 출력, 커서 그냥 PLZ 나에게이 문제를 해결하는 데 도움이 깜박 보여줍니다, 실행이 내 큰 데이터베이스 테이블의 작은 설명입니다, 내가 커서 기능이 필요합니다그 값을 하나씩 다른 기능으로 옮긴다.
프로그래머가 소프트웨어의 버전 번호를 제공하는 것은 물론입니다. 어떤 버전의 PostgreSQL을 사용합니까? –