LIST 数据类型是可存储相同 SQL 数据类型的有序非 NULL 元素的集合类型。
LIST 数据类型支持(但不需要)重复元素值。LIST 数据类型的元素具有顺序位置。LIST 对象必须具有第一元素,可后跟第二元素,以此类推。
有关不支持顺序位置的无序集合数据类型,请参阅 MULTISET(e) 数据类型 和 SET(e) 数据类型。有关可以存储一组包含不同 SQL 数据类型值的复杂数据类型,请参阅 ROW 数据类型。
可以将相同表的不超过 97 列声明为 LIST 数据类型。(同一限制适用于 SET 和 MULTISET 集合类型。)
缺省情况下,数据库服务器将新元素插入元素集末尾的插入 LIST 对象中。为了支持 LIST 的顺序位置,INSERT 语句提供了 AT 子句。此子句允许您指定要插入 LIST 元素值的位置。有关更多信息,请参阅 GBase 8s SQL 指南:语法 中的 INSERT 语句。
LIST(element_type NOT NULL)
必须对 LIST 元素指定 NOT NULL 约束。其他约束对 LIST 列无效。有关 LIST 数据类型语法的更多信息,请参阅 GBase 8s SQL 指南:语法。
不能将 LIST 值用作聚集函数(例如,AVG、MAX、MIN 或 SUM)的自变量。
CREATE FUNCTION update_nums( list1 LIST (ROW (a VARCHAR(10), b VARCHAR(10), c INT) NOT NULL ));但是,在包含文字 LIST 值的 SQL 表达式中,必须使用花括号 ({ }) 来对 LIST 对象的元素集定界,如以下示例中所示。
LIST{"blue", "green", "yellow"}
LIST{"yellow", "blue", "green"}
LIST{"blue", "green", "yellow"}