0

我对 SQL 很陌生,想知道如何从表中获取一些数据并将其放入数组中。如果我有这个:

SELECT SeatNo FROM SEATING_PLAN
WHERE Block = 1;

SeatNo 和 Block 是 INT。

我应该使用哪种数组将所有匹配的座位号放入数组中,哪种循环最适合这个?

提前致谢

4

1 回答 1

1

在 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;
于 2013-10-27T12:00:37.403 回答