2010-06-10 4 views
2

오라클 함수의 결과로 연관 배열을 반환 할 수 있는지 아는 사람이 있습니까? 그렇다면 예제가 있습니까? 함수에서 Oracle 연관 배열 반환

I는 아래에서 정의 된 연관 배열 선언을 포함 오라클 패키지를 가지고

TYPE EVENTPARAM IS TABLE OF NUMBER 
    INDEX BY BINARY_INTEGER; 

이는 다음과 같이 그 패키지 외부 저장 프로 시저에서 사용된다 :

v_CompParams areva_interface.eventparam; 

의도되고 다른 패키지의 Parse 함수에서 반환 된 변수 v_CompParams에 문자열의 연관 배열을 저장합니다.

PACKAGE STRING_MANIP 
IS 

    TYPE a_array IS TABLE OF NUMBER 
     INDEX BY BINARY_INTEGER; 

    FUNCTION Parse (v_string VARCHAR2, v_delim VARCHAR2) RETURN a_array; 
    FUNCTION RowCount(colln IN a_array) RETURN NUMBER; 

END; 

이가 구현하는 코드 : 다음의 정의는

v_CompParams := STRING_MANIP.PARSE(v_CompID,v_Delim); 

불행하게도 내가 오류가 작동하지 않습니다 'PLS-00382 : 표현은 잘못된 유형입니다 '. 저는 어리석게 생각합니다. 왜냐하면 a_array는 변수 v_CompParams와 동일한 소스 오라클 유형에서 파생 되었기 때문에 이들 사이에 아무 문제가 없다는 것을 가정했습니다. 어떤 도움을 많이 주셨습니다.

으로 친절 감사

폴 J.

+0

string_manip - 동일한 유형이 아닌 경우 (동일한 구조를 갖고 있더라도). –

답변

6

바로 "동일한"유형이어야하기 v_CompParams 정의해야합니다 : 당신은 두 가지 유형, areva_interface 하나, 하나가

v_CompParams STRING_MANIP.a_array;