处理集合 / 删除集合元素 |
在您(通过删除、更新或插入元素)更改 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)'