Oracle® Database SQL Reference 10g Release 1 (10.1) Part Number B10759-01 |
|
|
View PDF |
XMLColAttVal
creates an XML fragment and then expands the resulting XML so that each XML fragment has the name column
with the attribute name
. You can use the AS
c_alias
clause to change the value of the name
attribute to something other than the column name.
You must specify a value for value_expr
. If value_expr
is null, then no element is returned.
You cannot specify an object type column for value_expr
.
The following example creates an Emp
element for a subset of employees, with nested employee_id
, last_name
, and salary
elements as the contents of Emp
. Each nested element is named column
and has a name
attribute with the column name as the attribute value:
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>
Please refer to the example for XMLFOREST to compare the output of these two functions.