背景
迁移项目时遇到xmlelement报错,而MogDB是支持xmlelement的,经确认是语法有细微区别。
Oracle
源端代码模拟
SQL> SELECT XMLELEMENT("ename", 'scott') FROM dual;
XMLELEMENT("ENAME",'SCOTT')
--------------------------------------------------------------------------------
<ename>scott</ename>
MogDB
orcl=# SELECT XMLELEMENT("ename", 'scott') FROM dual;
ERROR: syntax error at or near ""ename""
LINE 1: SELECT XMLELEMENT("ename", 'scott') FROM dual;
^
Time: 19.538 ms
分析
该函数完整语法需要加 name 关键字,该关键字在Oracle里可选,在MogDB中为必须,增加该关键字即可:
orcl=# SELECT XMLELEMENT(name "ename", 'scott') FROM dual;
xmlelement
----------------------
<ename>scott</ename>
(1 row)
Time: 1.378 ms
参考:
https://docs.mogdb.io/zh/mogdb/v5.0/xml-functions