Mri*_*lla 0 sql oracle oracle11g
我在表中有一些看起来像这样的数据.
ID KEY VAL
---- ----- -----
1 name Bob
1 age 30
1 gender male
2 name Susan
2 age 50
Run Code Online (Sandbox Code Playgroud)
可以获取此查询的输出:
SELECT *
FROM my_table
WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)
..在这样的XML格式:
<DATA>
<NAME>Bob</NAME>
<AGE>30></AGE>
<GENDER>MALE</MALE>
</DATA>
Run Code Online (Sandbox Code Playgroud)
我不得不求助于PL/SQL,因为我无法使用SQL动态构建标记名称?这可能是使用SQL方法Oracle 11g还是我必须继续PL/SQL方式?
谢谢.
你可以这样做:
select xmlelement("DATA",xmlagg( xmlelement(evalname(KEY), VAL)))
from my_table
where ID = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4653 次 |
| 最近记录: |