2
是否有人知道是否有可能返回一個關聯數組作爲Oracle函數的結果返回一個Oracle關聯數組,如果是的話你有什麼例子?從功能
我有一個包含下文所定義的關聯數組聲明的Oracle包:
TYPE EVENTPARAM IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
這然後在存儲過程中所使用的封裝外部如下:
v_CompParams areva_interface.eventparam;
的意圖將變量v_CompParams中的字符串關聯數組存儲在另一個包中的Parse函數中返回。爲其定義如下:
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相同的源Oracle類型,因此它們之間不會有任何問題。任何幫助非常感謝。
親切的問候
的Paul J.
你有兩種類型,一種在areva_interface,一個在string_manip - 因此它們不是同一類型(即使它們具有相同的結構)。 – 2010-06-11 01:58:31