2014-12-04 3 views
0

디버깅하려는 프로 시저에서 디버거에서 배열을 초기화해야하는 연관 배열 선언이 있지만 올바른 결과를 얻지 못하는 것 같습니다. 초기화 문자열. 여기 Sql Developer 디버거에서 Oracle 연관 배열 초기화

는 디버거 블록 : 나는 내가 잘못, 또는이 방식으로 배열을 초기화하지 않을 수 있습니다 무엇

DECLARE 
    I_COMPONENTS_ARRAY PKG_CLASSIFICATION_MATRIX.T_NUMBER_ASSOC_ARRAY := T_NUMBER_ASSOC_ARRAY('544679','512477'); 
    I_QUESTION_ID NUMBER; 
    I_ANSWER_BOOLEAN NUMBER; 
    O_UPDATE_INFO sys_refcursor; 
BEGIN 
    --Modify the code to initialize the variable 
    --I_COMPONENTS_ARRAY := NULL; 

    --THESE ARE MY ATTEMPTS AT INITIALIZATION 
    --I_COMPONENTS_ARRAY('1') := 544679; 
    --I_COMPONENTS_ARRAY('2') := 512477; 
    --I_COMPONENTS_ARRAY := PKG_CLASSIFICATION_MATRIX.T_NUMBER_ASSOC_ARRAY(544679,512477); 

    I_QUESTION_ID := NULL; 
    I_ANSWER_BOOLEAN := NULL; 

    PKG_CLASSIFICATION_MATRIX.UPDATE_COLUMN(
    I_COMPONENTS_ARRAY => I_COMPONENTS_ARRAY, 
    I_QUESTION_ID => I_QUESTION_ID, 
    I_ANSWER_BOOLEAN => I_ANSWER_BOOLEAN, 
    O_UPDATE_INFO => O_UPDATE_INFO 
); 
/* Legacy output: 
DBMS_OUTPUT.PUT_LINE('O_UPDATE_INFO = ' || O_UPDATE_INFO); 
*/ 
:O_UPDATE_INFO := O_UPDATE_INFO; --<-- Cursor 
--rollback; 
END; 

?

TYPE T_NUMBER_ASSOC_ARRAY IS TABLE OF NUMBER INDEX BY PLS_INTEGER; 

답변

1

이 시도, 배열 이후

declaration of the array in the package spec: 
TYPE T_NUMBER_ASSOC_ARRAY IS TABLE OF NUMBER INDEX BY PLS_INTEGER; 

debugger block: 
I_COMPONENTS_ARRAY PKG_CLASSIFICATION_MATRIX.T_NUMBER_ASSOC_ARRAY; 

begin 
I_COMPONENTS_ARRAY (1) := 'Value1'; 
I_COMPONENTS_ARRAY (2) := 'Value2'; 
. 
. 
. 
I_COMPONENTS_ARRAY (n) := 'ValueN'; 
end; 

이 PLS_INTEGER BY 번호 지수 표, 당신은 I_COMPONENTS_ARRAY을 할 수 없다 (': 여기

패키지 사양에 배열의 선언입니다 1 ')

관련 문제