创建和使用 SPL 例程 / 处理集合 |
您可通过访问游标内的集合来更新集合元素,就如同您选择或删除个别的元素一样。
图: 更新集合元素。
DEFINE s SET(INTEGER NOT NULL); DEFINE n INTEGER; SELECT numbers INTO s FROM orders WHERE order_num = 10; FOREACH cursor1 FOR SELECT * INTO n FROM TABLE(s) IF ( n == 500 ) THEN UPDATE TABLE(s)(x) SET x = 400 WHERE CURRENT OF cursor1; EXIT FOREACH; ELSE CONTINUE FOREACH; END IF; END FOREACH
UPDATE 语句使用集合变量 s 作为集合派生的表。要指定集合派生的表,请使用 TABLE 关键字。在 UPDATE 语句中跟在 (s) 之后的值 (x) 是您提供的列名称 derived column,因为 SET 子句需要它,即使集合派生的表没有列也需要。
100 200 300 500
在此示例中,x 是包含值 500 的“列”的虚构的列名称。如果您正在更新内建的、opaque、distinct 或集合类型元素的集合,则仅指定派生的列。如果您正在更新 row 类型的集合,请使用字段名,而不是派生的列,如 更新 row 类型的集合 描述的那样。