我在 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)
我的问题是:如何在运行时使用变量提供标签名?
感谢为这个问题尝试解决方案的人。
最后,我得到了解决我的问题的方法。
“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)