使用 AT 子句来在集合变量中指定的位置插入 LIST 元素。在缺省情况下, GBase 8s 在 LIST 集合的末尾添加一新的元素。
如果您指定的位置大于列表中元素的数目,则数据库服务器将该元素添加到列表的末尾。您必须指定至少为 1 的位置值,因为列表中的第一个元素在位置 1。
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 。要获得更过关于将值插入到集合变量内的信息,请参阅 集合派生表。