如何在Oracle PL/SQL中选择INTO数组?

Bor*_*lov 15 sql oracle plsql

我正在尝试在数组中保存一组id:

declare
 cities_ids array_of_numbers;
begin
select id into cities_ids from objects where id = 1115464;
    FOR i IN 1..cities_ids.COUNT LOOP
        DBMS_OUTPUT.PUT_LINE(cities_ids(i));
    END LOOP;
end;
Run Code Online (Sandbox Code Playgroud)

执行后,我得到了下一个错误:

ORA-00932: inconsistent datatypes. Expected UDT, got NUMBER.
Run Code Online (Sandbox Code Playgroud)

请解释我做错了什么......

Eri*_*ler 30

很简单:BULK COLLECT缺少.

declare
 cities_ids arrayofnumbers;
begin
select object_id BULK COLLECT into cities_ids from nc_objects where object_id = 1000;
    FOR i IN 1..cities_ids.COUNT LOOP
        DBMS_OUTPUT.PUT_LINE(cities_ids(i));
    END LOOP;
end;
Run Code Online (Sandbox Code Playgroud)