728x90
XMLSEQUENCE
구문
XMLSEQUENCE( XMLType_instance
| sys_refcursor_instance [, fmt ]
)
목적
XMLSequence 함수에는 두 가지 형식이 있습니다.
- 첫 번째 형식은 XMLType 인스턴스를 입력으로 받아 이 XMLType의 최상위 노드를 varray로 반환합니다. 이 형식은 더 읽기 쉬운 SQL 코드를 제공하는 SQL/XML 표준 함수인 XMLTable에 의해 효과적으로 대체됩니다. Oracle Database 10g Release 2 이전에는 XMLSequence가 SQL 함수 TABLE과 함께 사용되어 XMLTable 함수로 더 나은 방식으로 수행할 수 있는 일부 작업을 수행했습니다.
- 두 번째 형식은 REFCURSOR 인스턴스와 XMLFormat 객체의 선택적 인스턴스를 입력으로 받고, 커서의 각 행에 대한 XML 문서를 XMLSequence 유형으로 반환합니다.
XMLSequence가 XMLType 컬렉션을 반환하기 때문에 이 함수를 TABLE 절에서 사용하여 컬렉션 값을 여러 행으로 언네스트(unnest)할 수 있으며, 이를 통해 SQL 쿼리에서 추가 처리를 수행할 수 있습니다.
참고:
이 함수에 대한 자세한 내용은 Oracle XML DB Developer's Guide를 참조하십시오. 그리고 XMLTABLE도 참조하십시오.
예제
다음 예제에서는 XMLSequence가 여러 요소가 있는 XML 문서를 VARRAY 단일 요소 문서로 분할하는 방법을 보여줍니다. 이 예제에서 TABLE 키워드는 Oracle Database에게 컬렉션을 FROM 절의 서브쿼리에서 사용할 수 있는 테이블 값으로 고려하도록 지시합니다:
SELECT EXTRACT(warehouse_spec, '/Warehouse') as "Warehouse"
FROM warehouses WHERE warehouse_name = 'San Francisco';
Warehouse
------------------------------------------------------------
<Warehouse>
<Building>Rented</Building>
<Area>50000</Area>
<Docks>1</Docks>
<DockType>Side load</DockType>
<WaterAccess>Y</WaterAccess>
<RailAccess>N</RailAccess>
<Parking>Lot</Parking>
<VClearance>12 ft</VClearance>
</Warehouse>
1 row selected.
SELECT VALUE(p)
FROM warehouses w,
TABLE(XMLSEQUENCE(EXTRACT(warehouse_spec, '/Warehouse/*'))) p
WHERE w.warehouse_name = 'San Francisco';
VALUE(P)
----------------------------------------------------------------
<Building>Rented</Building>
<Area>50000</Area>
<Docks>1</Docks>
<DockType>Side load</DockType>
<WaterAccess>Y</WaterAccess>
<RailAccess>N</RailAccess>
<Parking>Lot</Parking>
<VClearance>12 ft</VClearance>
8 rows selected.
출처: 오라클 레퍼런스
원문 링크: Oracle XMLSEQUENCE 함수 문서
반응형
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] XMLTABLE - XQuery 결과를 관계형 테이블로 변환 (0) | 2023.09.07 |
---|---|
[오라클 레퍼런스 함수] XMLSERIALIZE - XML 직렬화(Serialization) 및 문자열 또는 LOB 반환 (0) | 2023.09.07 |
[오라클 레퍼런스 함수] XMLROOT - XML 루트 정보 제공 (0) | 2023.09.07 |
[오라클 레퍼런스 함수] XMLQUERY - XML 데이터 쿼리 (0) | 2023.09.07 |
[오라클 레퍼런스 함수] XMLPI - XML 처리 명령(XML processing instruction) 생성 (0) | 2023.09.07 |
댓글