插入至 LIST 内

如果集合为 LIST,则您可将新的元素添加在 LIST 中的特定点,或添加在 LIST 的末尾。如同 SET 或 MULTISET 一样,您必须首先定义集合变量,并从数据库将集合选择至该集合变量内。

下图展示您需要定义集合变量并从 numbers 表选择 LIST 至该集合变量内的语句。

图: 定义集合变量并选择 LIST。

DEFINE e_coll LIST(INTEGER NOT NULL);
            
            SELECT evens INTO e_coll FROM numbers
            WHERE id = 99;
此时,e_coll 的值可能为 LIST {2,4,6,8,10}。由于 e_coll 保存 LIST,因此,每一元素有在该列表中的编号的位置。要将元素添加在 LIST 中特定的位置,请将 AT position 子句添加到 INSERT 语句,如下图所示。

图: 将元素添加在 LIST 中特定的点。

INSERT AT 3 INTO TABLE(e_coll) VALUES(12);

现在,e_coll 中的 LIST 有元素 {2,4,12,6,8,10},依此顺序。

您在 AT 子句中为 position 输入的值可为数值或变量,但它必须有 INTEGER 或 SMALLINT 数据类型。您不可使用字母、浮点数值、十进制值或表达式。