在多重集合中插入值的示例

假定 GBase 8s ESQL/C 主变量 a_multiset 有下列声明:
EXEC SQL BEGIN DECLARE SECTION;
          client collection multiset(integer not null) a_multiset;
          EXEC SQL END DECLARE SECTION;
下面的 INSERT 语句把一个新的 MULTISET 元素 142,323 添加到 a_multiset
EXEC SQL allocate collection :a_multiset;
          EXEC SQL select multiset_col into :a_multiset from table1
          where id = 107;
          EXEC SQL insert into table(:a_multiset) values (142323);
          EXEC SQL update table1 set multiset_col = :a_multiset
          where id = 107;
          
          EXEC SQL deallocate collection :a_multiset;

当要把元素插入到 client-collection 变量中时,不能在 INSERT 语句的 VALUES 子句中指定 SELECT 语句或 EXECUTE FUNCTION 语句。然而,当要把元素插入到 server-collection 变量中时,SELECT 和 EXECUTE FUNCTION 语句在 VALUES 子句中是有效的。有关 client- 和 server-collection 变量的更多信息,请参阅 GBase 8s ESQL/C 程序员手册