2014-10-29 1 views
0

나는 이것과 비슷한 것을 가지고있다. 그러나 오류가있다. ORA-06533 : 카운트 넘치는 첨자. 출력 탭에서 "select distinct"문에서 모든 값을보고 싶습니다. 누구든지 도울 수 있니? 감사!dbms_output을 사용하여 변수에 할당 된 값의 배열을 표시하는 방법?

DECLARE 
    TYPE v_chks_array IS VARRAY (10) OF VARCHAR2 (50); 

    arrSRCs v_chks_array; 
BEGIN 
    arrSRCs := v_chks_array(); 
    arrSRCs.EXTEND (10); 

    SELECT /*+parallel (a,4)*/ 
     DISTINCT a.src_table 
    BULK COLLECT INTO arrSRCs 
    FROM hcr_dm.hcr_dm_fact a; 

    DBMS_OUTPUT.put_line (arrSRCs (10)); 
END; 
+1

당신이 HCR_DM.HCR_DM_FACT에서 더 이상 10 이상의 행이 있음을 확인 했습니까? –

+0

테이블에 수백만 개의 행이 있습니다. "select"결과는 0에서 10 개의 레코드를 가질 수 있으며 더 많은 레코드가있을 수 있습니다. – gcbm1984

+0

HCR_DR.HCR_DM_FACT에 대한 색인이 있습니까? –

답변

1

컬렉션에서 찾을 수 있습니다 여기에 필요하지 않습니다 :

begin 
    for results in 
    (
     select /*+ parallel (a,4) */ distinct a.src_table 
     from hcr_dm.hcr_dm_fact a; 
    ) loop 
     dbms_output.put_line(results.src_table); 
    end loop; 
end; 
/