본문 바로가기

[오라클 레퍼런스 함수] XMLCOLATTVAL - XML에 속성 추가

by ㅇㅍㅍ 2023. 9. 5.
[오라클 레퍼런스 함수] XMLCOLATTVAL - XML에 속성 추가
728x90

 

XMLCOLATTVAL

 

구문

XMLCOLATTVAL
  (value_expr [ AS { c_alias  | EVALNAME value_expr } ]
    [, value_expr [ AS { c_alias  | EVALNAME value_expr } ]
      ]...
  )

 

목적

XMLColAttVal은 XML 단편(fragment)을 생성한 다음 생성된 XML을 확장하여 각 XML 단편에 속성 name인 열(column)을 갖도록 합니다.

AS 절을 사용하여 name 속성의 값을 열 이름 이외의 다른 값으로 변경할 수 있습니다. 이를 위해 문자열 리터럴인 c_alias를 지정하거나 EVALNAME value_expr을 지정할 수 있습니다. 후자의 경우 값 표현식이 평가되고 결과, 즉 문자열 리터럴이 별칭으로 사용됩니다. 별칭은 초기화 매개변수 MAX_STRING_SIZE = STANDARD인 경우 최대 4000자, MAX_STRING_SIZE = EXTENDED인 경우 최대 32767자까지 사용할 수 있습니다. 자세한 정보는 "Extended Data Types"을 참조하십시오.

value_expr에 대한 값을 지정해야 합니다. value_expr이 null인 경우 요소가 반환되지 않습니다.

 

XMLColAttVal에 대한 제한 사항

value_expr로 객체 유형 열을 지정할 수 없습니다.

 

예제

다음 예제는 일부 직원을 위한 Emp 요소를 생성하며, Emp의 내용으로 employee_idlast_name 및 salary 요소가 중첩되어 있습니다. 각 중첩된 요소는 column이라는 이름으로 지정되며, 열 이름이 속성 값으로 있는 name 속성을 가지고 있습니다.

SELECT XMLELEMENT("Emp",
   XMLCOLATTVAL(e.employee_id, e.last_name, e.salary)) "Emp Element"
   FROM employees e
   WHERE employee_id = 204;

Emp Element
--------------------------------------------------------------------
<Emp>
  <column name="EMPLOYEE_ID">204</column>
  <column name="LAST_NAME">Baer</column>
  <column name="SALARY">10000</column>
</Emp>

 

이 두 함수의 출력을 비교하려면 XMLFOREST 예제를 참조하십시오.

 


출처: 오라클 레퍼런스

원문 링크: Oracle XMLCOLATTVAL 함수 문서

 

반응형

댓글