我需要做一個遊標,接收一個列表作爲參數。我已經試過這樣:收集類型作爲遊標參數
declare
type array_t is table of varchar(50); -- //also tried varray(10) instead of table
cursor c_cursor (p_list array_t) is
select
field_1
from
table_1
where
field_2 in p_list;
a_list array_t;
begin
a_list := array_t('aaa',
'bbb',
'cccc',
'ddd');
for v_cursor in c_cursor(a_list) loop
dbms_output.put_line(v_cursor.field_1);
end loop;
end;
,我得到以下錯誤
ORA-06550: line 11, column 21:
PLS-00642: local collection types not allowed in SQL statements
我已閱讀有關使用CREATE OR REPLACE
方法,但我不能在這種情況下使用CREATE OR REPLACE
(實際上該數據庫是隻讀的)。
有沒有可能的解決辦法?
請添加查詢的預期輸出。 – TechDo
以下是一些示例:http://stackoverflow.com/questions/4249010/in-pl-sql-take-a-table-as-parameter-filter-it-and-return-it – Art