您可使用 VALUES 子句来将值插入到集合列内。要获取更多信息,请参阅 集合构造函数。
CREATE TABLE tab1 ( int1 INTEGER, list1 LIST(ROW(a INTEGER, b CHAR(5)) NOT NULL), dec1 DECIMAL(5,2) );
INSERT INTO tab1 VALUES ( 10, LIST{ROW(1,'abcde'), ROW(POW(3,3), '=27'), ROW(ROUND(ROOT(126)), '=11')}, 100 );
在本示例中,集合列 list1 有三个元素。每一元素为带有一 INTEGER 字段和一 CHAR(5) 字段的未命名的行类型。第一个元素由两个精确值组成,一个整数(1)和一个引用的字符串(abcde)。第二个和第三个元素还使用引用的字符串来指出第二个字段,但以表达式指定第一个字段的值。
不管您使用什么方式来将值插入到集合列内,都不可将 NULL 元素插入到该列内。因而您使用的表达式不可等于 NULL。如果您尝试插入其中的集合包含 NULL 元素,则数据库服务器返回错误。
您还可使用集合变量来将一个或多个集合元素的值插入到集合列内。要获取更多信息,请参阅 集合派生表。