使用 AT 子句(ESQL/C、SPL)

使用 AT 子句来在集合变量中指定的位置插入 LIST 元素。在缺省情况下, GBase 8s 在 LIST 集合的末尾添加一新的元素。

如果您指定的位置大于列表中元素的数目,则数据库服务器将该元素添加到列表的末尾。您必须指定至少为 1 的位置值,因为列表中的第一个元素在位置 1

下列 SPL 示例在列表中指定的位置插于值:
CREATE PROCEDURE test3()
   DEFINE a_list LIST(SMALLINT NOT NULL);
   SELECT list_col INTO a_list FROM table1 WHERE id = 201;
   INSERT AT 3 INTO TABLE(a_list) VALUES( 9 );
   UPDATE table1 VALUES list_col = a_list WHERE id = 201;
END PROCEDURE;

假设在此 INSERT 之前, a_list 包含了元素 {1,8,4,5,2}。在此 INSERT 之后,a_list 包含元素 {1,8,9,4,5,2}。新元素 9 插入在列表中的位置 3 。要获得更过关于将值插入到集合变量内的信息,请参阅 集合派生表