Note: The collection functions operate on nested tables and varrays |
|
CARDINALITY |
Returns the number of elements in a nested table |
CARDINALITY(<nested_table>) |
See Nested Table and Collections Demos |
|
COLLECT |
Takes a column of any type and creates a nested table of the input
type out of the rows selected |
COLLECT(<column>) |
CREATE TYPE phone_book_t AS TABLE OF phone_list_typ;
/
SELECT CAST(COLLECT(phone_numbers) AS phone_book_t)
H FROM customers; |
|
POWERMULTISET |
Takes a nested table and returns a nested table of nested tables
containing all nonempty subsets (called submultisets) of the input nested table |
POWERMULTISET(<expression>) |
CREATE TYPE cust_address_tab_tab_typ
AS TABLE OF cust_address_tab_typ;
SELECT CAST(POWERMULTISET(cust_address_ntab)
AS cust_address_tab_tab_typ)
FROM customers_demo; |
|
POWERMULTISET_BY_CARDINALITY |
Takes a nested table and a cardinality and returns a nested table of nested tables containing all nonempty subsets (called submultisets) of the nested table of the specified
cardinality |
POWERMULTISET_BY_CARDINALITY(<expression>,
<cardinality>) |
UPDATE customers_demo
SET cust_address_ntab = cust_address_ntab MULTISET UNION cust_address_ntab;
SELECT CAST(POWERMULTISET_BY_CARDINALITY(cust_address_ntab, 2)
AS cust_address_tab_tab_typ)
FROM customers_demo; |
|
SET |
Converts a nested table into a set by eliminating duplicates |
SET(<nested_table>) |
SELECT customer_id, SET(cust_address_ntab) address
FROM customers_demo; |