Oracle

根據查詢導出到 INSERT 文本文件

  • August 3, 2016

我需要將一些數據導出到文件中。使用通常由多個連接組成的查詢來選擇數據。我希望導入操作盡可能簡單。我正在考慮使用這種方法建構一個 INSERT 文件: Oracle PL/SQL: Dump query result into file

但我想知道是否已經存在一些工具來基於查詢導出數據。如果是這種情況,我可能會對一些二進製文件感到滿意,只要之後導入這個文件是直截了當的。我看到有exp,但它似乎並不能真正處理查詢,只有基本的 WHERE 子句。

您是否考慮過使用 UTL_FILE 包?使用它,您可以非常輕鬆地直接從 PL/SQL 寫入(和讀取)文件,並且具有很強的強韌性。您需要在數據庫中配置一個 Directory 對象,然後您就可以輕鬆地對其進行寫入。

這裡有一些關於這個主題的材料:http: //psoug.org/reference/utl_file.html,http : //docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_file.htm

有一個工具,Oracle SQL Developer 或 Oracle SQLcl(命令行)。

SELECT /*insert*/ * FROM ...`

用 F5 執行。您將以 INSERT 語句的形式獲得輸出。

在 SQLcl 中,您可以使用 SET SQLFORMAT insert - 輸出將預設為插入語句,直到您更改模式,因此無需更改查詢。

有很多可用的格式,包括 csv、xml、json 和 html。

使用任一工具,使用 SPOOL ON|OFF 包裝查詢 - 這會將文件寫入執行 SQL Dev 或 SQLcl 的本地電腦。

設置 sqlformat

引用自:https://dba.stackexchange.com/questions/64678