我是SQL的新手,想知道如何从表中获取一些数据并将其放入数组中。 如果我有这个:
SELECT SeatNo FROM SEATING_PLAN
WHERE Block = 1;
SeatNo和Block是INT。
我应该使用什么样的数组来放置匹配到数组中的所有座位号,以及哪种循环最适合这个?
提前致谢
答案 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;