【发布时间】:2018-11-05 16:02:38
【问题描述】:
我正在尝试使用游标将数据从表 1 插入到另一个表中,目的是了解 Oracle 中的对象。
但是,在使用游标循环插入数据时,我遇到了类似“参数数量无效”的错误。
create type airport_t as object
(
Rank number,
Airport varchar2(80),
Location varchar2(60),
Country varchar2(50),
Code_iata varchar2(3),
Code_icao varchar2(4),
Total_Passenger number,
Rank_change number,
Percent_change number
);
create table AIRPORTS2017OO
(
AIRPORT airport_t // Look above code..
);
declare
cursor insert_cr is select * from AIRPORTS2017;
begin
open insert_cr;
for i in insert_cr
loop
insert into Airports2017oo values( airport_t(i.Rank || '
'||i.airport ||' '||
i.Location ||' '|| i.Country ||' '|| i.code_iata ||' '||
i.code_icao ||' '||
i.Total_Passenger ||' '|| i.Rank_change ||' '||
i.Percent_change));
end loop;
end;
/
表 1 包含 50 行和 9 列。但是,表 2 只有 1 列,我只想将表 1 中的所有数据放入表 2 的单列中。
错误图片:[1]
【问题讨论】:
-
它仍然抛出错误说“数据类型不一致”。那是因为表2只有一列吗??