簡單地嘗試爲我指定的id返回一個遊標。在IN子句中使用Oracle表類型 - 編譯失敗
CREATE OR REPLACE PACKAGE some_package AS TYPE t_cursor IS REF CURSOR; TYPE t_id_table IS TABLE OF NVARCHAR(38) INDEX BY PLS_INTEGER; PROCEDURE someentity_select( p_ids IN t_id_table, p_results OUT t_cursor); END; CREATE OR REPLACE PACKAGE BODY some_package AS PROCEDURE someentity_select( p_ids IN t_guid_table, p_results OUT t_cursor) IS BEGIN OPEN p_results FOR SELECT * FROM someschema.someentity WHERE id IN (SELECT column_value FROM TABLE(p_ids)); - fails here END; END;
注:someschema.someentity.id是NVARCHAR2(38)
PL/SQL:ORA-00382:表達式是錯誤的類型的
PL/SQL:ORA-22905:不能訪問的行來自非嵌套表項目
我在哪裏出錯了?
謝謝..但現在它顯示ORA-12714:無效的國家字符集在該行上指定..雖然更接近。 – 2010-01-11 23:18:58
您可能想發佈另一個關於該問題的問題,因爲它是一個完全不同的問題,我不知道國家字符集問題。 – 2010-01-12 15:22:27