![](/img/trans.png)
[英]dbms_xmlgen.getxmltype(context) returns null when the sql table is empty
[英]plsql dbms_xmlgen.getxmltype change xml tag format
我們一直在使用 SQL 開發人員的數據庫導出 function 創建一些數據轉儲文件。 文件格式如下所示:
<?xml version='1.0' encoding='Cp1252'?> <RESULTS> <ROW> <COLUMN NAME="A_ID"><![CDATA[3]]></COLUMN> <COLUMN NAME="B_ID"><![CDATA[A3V09LJAF]]></COLUMN> </ROW> <ROW> <COLUMN NAME="A_ID"><![CDATA[5]]></COLUMN> <COLUMN NAME="B_ID"><![CDATA[4FAPU90FSD]]></COLUMN> </ROW> </RESULTS>
但最近管理層決定自動化該過程,一種選擇是使用假脫機:
SPOOL 'D:\SOME\PATH\TO\DIR\1.XML'
SELECT dbms_xmlgen.getxmltype('SELECT A_ID, B_ID FROM SOME_TABLE') FROM DUAL;
SPOOL OFF;
但是 dbms_xmlgen.getxmltype 在導出的文件中給出了不同的標簽類型:
<ROWSET> <ROW> <A_ID>3</A_ID> <B_ID>A3V09LJAF</B_ID> </ROW> <ROW> <A_ID>5</A_ID> <B_ID>4FAPU90FSD</B_ID> </ROW> </ROWSET>
有沒有辦法更改 TAG 格式並添加 CDATA 以與 SQL 開發人員導出文件完全相同?
感謝您的時間。
也許更簡單的方法是使用 SQLcl,它與 SQL Developer 具有相同的“引擎”。 因此在 SQLcl 中你會這樣做
SQL> SET SQLFORMAT XML
SQL> SELECT * FROM emp WHERE deptno = 20;
<?xml version='1.0' encoding='UTF8' ?>
<RESULTS>
<ROW>
<COLUMN NAME="EMPNO"><![CDATA[7369]]></COLUMN>
<COLUMN NAME="ENAME"><![CDATA[SMITH]]></COLUMN>
<COLUMN NAME="JOB"><![CDATA[CLERK]]></COLUMN>
<COLUMN NAME="MGR"><![CDATA[7902]]></COLUMN>
<COLUMN NAME="HIREDATE"><![CDATA[17-DEC-80]]></COLUMN>
<COLUMN NAME="SAL"><![CDATA[800]]></COLUMN>
<COLUMN NAME="COMM"><![CDATA[]]></COLUMN>
<COLUMN NAME="DEPTNO"><![CDATA[20]]></COLUMN>
</ROW>
從這里下載 SQLcl
https://www.oracle.com/au/tools/downloads/sqlcl-downloads.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.