我需要对 Oracle 数据库中的一些数据进行一些处理,然后将其打印为 XML。我正在使用 XMLElement 及其附带的方法。但是,我发现如果我将 varchar 传递给 PL/SQL 函数,然后将该变量传递给 XMLElement,它会打印变量名称而不是其内容,如下所示:
create or replace function gen_elem_tmp(label1 varchar2, value1 varchar2)
return XMLType
is
result_xml XMLType;
begin
select XMLElement(label1,value1) into result_xml from dual;
return result_xml;
end;
> select gen_elem_tmp('myname','myvalue') from dual;
GEN_ELEM_TMP('MYNAME','MYVALUE')
------------------------------------------------
<LABEL1>myvalue</LABEL1>
我猜这是 XMLElement 将我的变量名解释为数据库列的“有用”。有没有办法让它使用我的变量的内容呢?