Inserting Values into Collection Columns
You can use the VALUES clause to insert values into a collection column. For more information, see Collection Constructors.
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 );
The collection column, list1, in this example, has three
elements. Each element is an unnamed row type with an INTEGER field
and a CHAR(5) field. The first element is composed of two literal
values, an integer (1) and a quoted string (abcde
).
The second and third elements also use a quoted string to indicate
the second field, but specify the value for the first field with an
expression.
Regardless of what method you use to insert values into a collection column, you cannot insert NULL elements into the column. Thus expressions that you use cannot evaluate to NULL. If the collection that you are attempting to insert contains a NULL element, the database server returns an error.
You can also use a collection variable to insert the values of one or more collection elements into a collection column. For more information, see Collection-Derived Table.