如何在Oracle PL/SQL中使用SELECT INTO数组?

23
我正在尝试将一组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;
执行后,我得到了以下错误:
ORA-00932: inconsistent datatypes. Expected UDT, got NUMBER.
请解释我做错了什么...

看看这里,也许能帮到你:http://www.experts-exchange.com/Database/Oracle/Q_26235824.html - Jens
1个回答

43

非常简单:缺少BULK COLLECT

declare
 cities_ids array_of_numbers;
begin
select id BULK COLLECT 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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接