728x90
POWERMULTISET_BY_CARDINALITY
구문
POWERMULTISET_BY_CARDINALITY(expr, cardinality)
목적
POWERMULTISET_BY_CARDINALITY는 중첩 테이블(nested table)과 기수(cardinality)를 입력으로 받아들여 지정된 기수의 중첩 테이블의 모든 비어있지 않은 하위 집합(하위 다중집합)을 포함하는 중첩 테이블을 반환합니다.
- expr은 중첩 테이블로 평가되는 어떤 식이든지 될 수 있습니다.
- cardinality는 양의 정수가 될 수 있습니다.
- 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;
/
다음으로, 모든 중첩 테이블 행의 요소를 복제하여 중첩 테이블 행의 기수(cardinality)를 2로 증가시키세요.
UPDATE customers_demo
SET cust_address_ntab = cust_address_ntab MULTISET UNION cust_address_ntab;
이제 POWERMULTISET_BY_CARDINALITY 함수를 사용하여 customers_demo 테이블에서 중첩 테이블 열 cust_address_ntab을 선택하세요.
SELECT CAST(POWERMULTISET_BY_CARDINALITY(cust_address_ntab, 2)
AS cust_address_tab_tab_typ)
FROM customers_demo;
CAST(POWERMULTISET_BY_CARDINALITY(CUST_ADDRESS_NTAB,2) 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_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_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_TYP('8768 N State Rd 37', '47404', 'Bloomington', 'IN', 'US')))
. . .
앞의 예제는 customers_demo 테이블과 데이터를 포함하는 중첩 테이블 열이 필요합니다. 이 테이블과 중첩 테이블 열을 생성하려면 "Multiset Operators"를 참조하세요.
출처: 오라클 레퍼런스
원문 링크: Oracle POWERMULTISET_BY_CARDINALITY 함수 문서
반응형
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] PREDICTION_BOUNDS - 예측의 범위(상한, 하한) 반환 (0) | 2023.08.13 |
---|---|
[오라클 레퍼런스 함수] PREDICTION - 예측 결과 반환 (0) | 2023.08.13 |
[오라클 레퍼런스 함수] POWERMULTISET - 중첩 테이블의 모든 비어있지 않은 하위 집합 반환 (0) | 2023.08.12 |
[오라클 레퍼런스 함수] POWER - n제곱 계산 (0) | 2023.08.12 |
[오라클 레퍼런스 함수] PERCENTILE_DISC - 이산 분포 백분위수 계산 (0) | 2023.08.12 |
댓글