更新整个集合

如果您想要将集合中的所有元素更新为相同的值,或如果该集合仅包含一个值,则您无需使用游标。下图中的语句展示你可如何将集合检索至集合变量内,然后使用一个语句来更新它。

图: 检索并更新集合。

DEFINE s SET (INTEGER NOT NULL);
          
          SELECT numbers INTO s FROM orders
          WHERE order_num = 10;
          
          UPDATE TABLE(s)(x) SET x = 0;
          
          UPDATE orders SET numbers = s
          WHERE order_num = 10;

此示例中的第一个 UPDATE 语句随同集合派生的表 s 使用名为 x 的派生的列,并将值 0 赋给集合中的所有元素。第二个 UPDATE 语句在数据库中存储新的集合。