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であると推測しています。代わりに、変数の内容を使用する方法はありますか?