簡體   English   中英

plsql dbms_xmlgen.getxmltype 更改 xml 標記格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM