【发布时间】:2018-11-02 05:04:36
【问题描述】:
我有 ORACLE 类 airport_t,其中包含
的数据字段Rank,
Airport,
Location,
Country,
Code_IATA,
Code_ICAO,
Total_passenger,
Rank_change,
Percent_Change
我创建了表 AIRPORTS2017OO,它有一个单独的列 AIRPORT,可以存储 airport_t 类型的对象。我在 Airport2017 表中有 50 行数据,我使用光标将这些数据插入到表 AIRPORTS2017OO 的 airport 列中。
我可以通过下面给出的光标遍历 airports2017 表,但我不知道如何将数据插入到 AIRPORTS2017OO 表中。
这是我从 airports2017 表中获取所有信息的解决方案
DECLARE
rank1 NUMBER;
airports1 VARCHAR2 (80);
location1 VARCHAR (40);
country1 VARCHAR (30);
iata1 VARCHAR (3);
icao1 VARCHAR (4);
total_pass NUMBER;
rank_c NUMBER;
p_change NUMBER;
CURSOR display
IS
SELECT * FROM airports2017;
BEGIN
OPEN display;
LOOP
FETCH display
INTO rank1,
airports1,
location1,
country1,
iata1,
icao1,
total_pass,
rank_c,
p_change;
IF display%FOUND
THEN
DBMS_OUTPUT.put_line (airports1);
ELSE
EXIT;
END IF;
END LOOP;
CLOSE display;
END;
/
【问题讨论】:
-
您是否可以控制数据库设计?因为如果我是你,我不会将数据存储在 airport_t 对象中并将其插入到表的列中,而是创建一个具有返回主表的外键的新表,然后将数据插入到新表中桌子。以这种方式查询事情要容易得多。
-
嘿,不,我无法控制设计。必须坚持给出的问题。