我对 SQL 很陌生,想知道如何从表中获取一些数据并将其放入数组中。如果我有这个:
SELECT SeatNo FROM SEATING_PLAN
WHERE Block = 1;
SeatNo 和 Block 是 INT。
我应该使用哪种数组将所有匹配的座位号放入数组中,哪种循环最适合这个?
提前致谢
在 PL/SQL 中有 2 种类型的数组,关联数组和变体数组。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;