在您在 FOREACH 与 END FOREACH 语句之间声明游标之后,请您输入称为集合查询的特殊的、受限形式的 SELECT
语句。
集合查询是使用后跟集合变量的名称的 FROM TABLE 关键字的 SELECT 语句。下图展示此结构,称其为
集合派生的表。
图: 集合派生的表。
FOREACH cursor1 FOR
SELECT * INTO pnt FROM TABLE(vertexes)
. . .
END FOREACH
该 SELECT 语句使用集合变量
vertexes 作为集合派生的表。您可将集合派生的表视为一列的表,该集合的每一元素都是表的一行。例如,您可将存储在
vertexes 中的四个点的 SET 可视化作为带有四行的表,诸如下图展示的一个。
图: 带有四行的表。
'(3.0,1.0)'
'(8.0,1.0)'
'(3.0,4.0)'
'(8.0,4.0)'
在前图中的 FOREACH 语句的第一个迭代之后,该集合查询选择
vertexes 中的第一个元素,并将其存储在
pnt 中,因此,
pnt
包含值 '
(3.
0,
1.
0)'。
提示: 由于集合变量 vertexes 包含 SET,而不是 LIST,因此,vertexes
中的元素没有定义了的顺序。在真实的数据库中,值 '(3.0,1.0)' 可能不是 SET 中的第一个元素。