GET_CLIENT_IN_SED (return sys_refcursor) 함수가 있습니다.이 함수는 ID 번호 목록 (단일 열)을 제공합니다. 이제, 절차, 그 각각의 값 (하나씩)을 통해 루프를 시도하고있다 그리고 두 번째 절차를 (그것이 클라이언트 ID 매개 변수를 필요로) 호출을 위해 사용합니다. 의 Ref 커서를 통해 반복하려면Oracle PL/SQL 커서 (함수에서)의 각 값을 하나씩 다른 커서에 할당하십시오.
PROCEDURE GET_ORDINARY_CLIENT;
PROCEDURE GET_ORDINARY_CLIENT_BY_SED
(sed_in IN varchar2, client_sed OUT SYS_REFCURSOR)
IS
ordinary_clients sys_refcursor;
BEGIN
ordinary_clients := GET_CLIENT_IN_SED(sed_in);
for item in ordinary_clients loop
client_sed := client_sed + ordinary_clients(i);
end loop;
END;
벌크 (bulk) 수집은 내가 사용하기를 좋아하는 또 다른 유효한 접근법입니다 (나는 커서를 사용하는 것보다 컬렉션을 다루는 것이 훨씬 더 간단하다는 것을 알았습니다!). 데이터의 양이 매우 큰 경우에 더 사용되지 않지만 대신 반복자의 변수에 저장하기 때문이다. 당신은 대량을 사용하여 반복 할 수 @Dessma – Dessma
뿐만 아니라 수집합니다. 한 번에 데이터 선택을 제한하는 제한 조항이 있으며 모든 레코드를 반복 할 수 있습니다. – XING