POWERMULTISET
構文
目的
POWERMULTISET
は、入力としてネストした表を取り、入力されたネストした表のすべての空でないサブセットを含む、ネストした表のネストした表(サブ多重集合という)を戻します。
-
expr
には、ネストした表に評価される任意の式を指定できます。 -
expr
がNULLである場合、Oracle DatabaseはNULL
を戻します。 -
expr
が空のネストした表である場合、Oracleはエラーを戻します。 -
ネストした表の要素の型は、比較可能な型である必要があります。スカラー型以外の型の比較の可能性の詳細は、「比較条件」を参照してください。
ノート:
このファンクションは、PL/SQLではサポートされていません。
例
まず、cust_address_tab_type
データ型のネストした表であるデータ型を作成します。
CREATE TYPE cust_address_tab_tab_typ AS TABLE OF cust_address_tab_typ; /
次に、POWERMULTISET
ファンクションを使用して、customers_demo
表から、ネストした表の列cust_address_ntab
を選択します。
SELECT CAST(POWERMULTISET(cust_address_ntab) AS cust_address_tab_tab_typ) FROM customers_demo; CAST(POWERMULTISET(CUST_ADDRESS_NTAB) AS CUST_ADDRESS_TAB_TAB_TYP) (STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE, COUNTRY_ID) ------------------------------------------------------------------ CUST_ADDRESS_TAB_TAB_TYP(CUST_ADDRESS_TAB_TYP(CUST_ADDRESS_TYP ('514 W Superior St', '46901', 'Kokomo', 'IN', 'US'))) CUST_ADDRESS_TAB_TAB_TYP(CUST_ADDRESS_TAB_TYP(CUST_ADDRESS_TYP ('2515 Bloyd Ave', '46218', 'Indianapolis', 'IN', 'US'))) CUST_ADDRESS_TAB_TAB_TYP(CUST_ADDRESS_TAB_TYP(CUST_ADDRESS_TYP ('8768 N State Rd 37', '47404', 'Bloomington', 'IN', 'US'))) CUST_ADDRESS_TAB_TAB_TYP(CUST_ADDRESS_TAB_TYP(CUST_ADDRESS_TYP ('6445 Bay Harbor Ln', '46254', 'Indianapolis', 'IN', 'US'))) . . .
前述の例では、customers_demo
表、およびデータを含むネストした表の列が必要です。この表およびネストした表の列を作成する方法は、「MULTISET演算子」を参照してください。