본문 바로가기

[오라클 레퍼런스 함수] POWERMULTISET - 중첩 테이블의 모든 비어있지 않은 하위 집합 반환

by ㅇㅍㅍ 2023. 8. 12.
[오라클 레퍼런스 함수] POWERMULTISET - 중첩 테이블의 모든 비어있지 않은 하위 집합 반환
728x90

 

 

 

POWERMULTISET

 

구문

POWERMULTISET(expr)

 

목적

POWERMULTISET 함수는 중첩 테이블(nested table)을 입력으로 받아 입력 중첩 테이블의 모든 비어 있지 않은 부분 집합(하위 다중집합이라고 함)을 포함하는 중첩 테이블의 중첩 테이블을 반환합니다.

 

  • expr은 중첩 테이블로 평가되는 모든 표현식이 될 수 있습니다.
  • expr이 null로 해결되면, Oracle Database는 NULL을 반환합니다.
  • expr이 빈 중첩 테이블로 해결되면, Oracle은 오류를 반환합니다.
  • 중첩 테이블의 요소 유형은 비교 가능해야 합니다. 비스칼라 유형의 비교 가능성에 대한 정보는 "Comparison Conditions"을 참조하십시오.

 

노트: 이 함수는 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 Operators"를 참조하십시오.

 


출처: 오라클 레퍼런스

원문 링크: Oracle POWERMULTISET 함수 문서

 

반응형

댓글