| 创建和使用 SPL 例程 / 处理集合 | |
在您将个别的元素从集合变量选择至元素变量内之后,您可从集合删除该元素。例如,在您以集合查询从集合变量 vertexes 选择一个点之后,您可将该点从集合移除。
图: 删除四个点之一的例程。
CREATE PROCEDURE shapes()
DEFINE vertexes SET( point NOT NULL );
DEFINE pnt point;
SELECT definition INTO vertexes FROM polygons
WHERE id = 207;
FOREACH cursor1 FOR
SELECT * INTO pnt FROM TABLE(vertexes)
IF pnt = '(3,4)' THEN
-- calls the equals function that
-- compares two values of point type
DELETE FROM TABLE(vertexes)
WHERE CURRENT OF cursor1;
EXIT FOREACH;
ELSE
CONTINUE FOREACH;
END IF;
END FOREACH
. . .
END PROCEDURE;
在前图中,FOREACH 语句声明游标。SELECT 语句是集合派生的查询,从集合变量 vertexes 一次将选择一个元素至元素变量 pnt。
在 GBase 8s SQL 指南:语法 中描述 DELETE 语句的语法。