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.