文字的集合 的图引用此部分。
嵌套的集合是为另一集合的元素类型的集合。
无论您何时嵌套集合文字,请使用嵌套的引号。在这些情况下,您必须遵循嵌套的引号的规则。否则,数据库不可正确地解析该字符串。
通用的规则是,对于每一新的嵌套级别,您必须加倍引号的数目。例如,如果您为第一级使用双引号("),则你必须为第二级使用两个双引号,为第三级使用四个双引号,为第四级使用八个,为第五级使用十六个,依此类推。
同样地,如果您对第一级使用单引号('),则您必须为第二级使用两个单引号,为第三级使用四个单引号。对您可嵌套的级数没有限制,只要您遵循此规则即可。
下列示例说明两级嵌套的集合文字的情况,使用双引号(")。在此,表 tab5 是单列表,其唯一的列 set_col 为嵌套的集合类型。
CREATE TABLE tab5 (set_col SET(SET(INT NOT NULL) NOT NULL));
INSERT INTO tab5 VALUES ( "SET{""SET{34, 56, 23, 33}""}" );
对于每一文字值,开引号与收引号必须相匹配。因此,如果您以两个双引号开启文字,则您必须以两个双引号关闭那个文字。(""a literal value"")。
EXEC SQL insert into tab5 values ('set{\"set{34, 56, 23, 33}\"}');
要获取更多信息,请参阅 GBase 8s ESQL/C 程序员手册 中关于复合的数据类型的章节。
nest_col SET(MULTISET (INT NOT NULL) NOT NULL);
INSERT INTO tabx (nest_col) VALUES ("SET{'MULTISET{1, 2, 3}'}");