XMLELEMENT() 函数无法将变量的值识别为标记名称

Kar*_*oor 2 oracle11g

我在 SELECT 查询中使用 XMLELEMENT(tagname,value)。它无法识别变量的值。而不是这个,它把变量名作为标签名。

//前任

l_0_l   := t_array(l_index) || '-ANI-II'; -- runtime value is "A-ANI-II"

SELECT (XMLELEMENT(l_ii, NULL) ||'') 
  INTO l_temp 
  FROM dual;

dbms_output.put_line(l_temp );

expected output :<A-ANI-II/>
acutal output :<L_II/>
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在运行时使用变量提供标签名?

Kar*_*oor 5

感谢为这个问题尝试解决方案的人。

最后,我得到了解决我的问题的方法。

“evalname()”解决了我的问题。此方法将该变量的值返回给 XMLELEMENT()。

SELECT (XMLELEMENT(evalname(l_ii), NULL) ||'') 
  INTO l_temp 
  FROM dual;

Now, I am getting output like :<A-ANI-II/>
Run Code Online (Sandbox Code Playgroud)