来自表数据的oracle sql简单数组

时间:2013-10-27 11:04:31

标签: sql arrays oracle

我是SQL的新手,想知道如何从表中获取一些数据并将其放入数组中。 如果我有这个:

SELECT SeatNo FROM SEATING_PLAN
WHERE Block = 1;

SeatNo和Block是INT。

我应该使用什么样的数组来放置匹配到数组中的所有座位号,以及哪种循环最适合这个?

提前致谢

1 个答案:

答案 0 :(得分:1)

在PL / SQL中,您有两种类型的数组,关联数组和变体数组。 PL / SQL中还有另一种类型的集合,称为嵌套表。这种表现使PL / SQL模糊不清,因为对于某些操作,三者的处理方式相似,而对其他操作则完全不同。

http://docs.oracle.com/cd/B12037_01/appdev.101/b10807/05_colls.htm

如果要存储标量类型集合,我建议您使用关联数组:

DECLARE
   TYPE t_SeatNo is TABLE OF SEATING_PLAN.SeatNo%TYPE INDEX BY BINARY_INTEGER;
   seats t_SeatNo;
BEGIN
   SELECT SeatNo
   BULK COLLECT INTO seats
   FROM SEATING_PLAN
   WHERE Block = 1;

   -- Do what you need with the data

END;