| 处理集合 / 删除集合元素 | |
在您(通过删除、更新或插入元素)更改 SPL 例程中集合变量的内容之后,您必须以新的集合更新数据库。
图: 更新数据库中的集合。
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
UPDATE polygons SET definition = vertexes
WHERE id = 207;
END PROCEDURE;
现在,shapes() 例程完成。在您运行 shapes() 之后,更新存储在其 ID 列为 207 的行中的集合,以便于它包含三个值,而不是四个。
您可使用 shapes() 例程作为框架,来编写操纵集合的其他 SPL 例程。
'(3,1)'
'(8,1)'
'(8,4)'