전달한 ID를 기반으로 sys_refcursor를 반환하는 PL/SQL 패키지가 있습니다. 몇 가지 ID를 통해 반복하고 각 ID에 대해 반복되는 원래 결과 집합에서 한 열을 가진 새로운 참조 커서를 만들고 싶습니다. 나는이sys_refcursor 내에서 오라클 커서 사용
create or replace procedure test_refcur is
refCursorValue SYS_REFCURSOR;
begin
dashboard_package.visits(refCursorValue,12345);
for cursrow in refCursorValue loop
dbms_output.put_line(cursrow.ytd_tot);
end loop;
end test_refcur;
작업 같은이 있다면 내 생각
create or replace package body dashboard_package is
procedure visits(RC in out sys_refcursor, IdNumber varchar2) as
BEGIN
OPEN RC FOR
select *
from (
select cat, cat_order, subcat, label_text
, trim(to_char(sum(v.current_month),'9,999,999,999')) current_month
, trim(to_char(sum(v.ly_month),'9,999,999,999')) ly_month
, trim(to_char(sum(v.ytd_tot),'9,999,999,999')) ytd_tot
, trim(to_char(sum(v.lytd_tot),'9,999,999,999')) lytd_tot
, trim(to_char(sum(v.ly_tot),'9,999,999,999')) ly_tot
from dashboard v
where v.id_number = IdNumber
group by cat_order, subcat, cat, label_text
union all
...
) a
order by cat_order, subcat;
END;
END;
나는까지 갈 수 :처럼 (. 크로스 탭의 정렬)을 PL/SQL 블록의 매우 단순화 된 버전은 보인다 거기 ... 어떤 생각? 아니면 제가 묻고있는 질문에 대한 설명을 해줄 수도 있습니다.
FM9G999G999G999에 대한 정보를 제공해 주셔서 감사합니다. 파이프 라인 기능을 지금보고 있습니다. – Lloyd