【问题标题】:How to export half a million records from PL/SQL如何从 PL/SQL 导出半百万条记录
【发布时间】:2015-04-23 05:53:07
【问题描述】:

我有一张包含大约 500,000 条记录的表。我需要将所有记录导出到 excel 中。当我查询时,我无法像Out Of memory 所说的那样获得所有信息

表没有任何主键/索引。

有没有办法提取?

【问题讨论】:

  • 你是如何提取的?
  • 简单......select * from table
  • 尝试将假脱机文件保存为 .csv 格式,然后从表中选择 *,完成后您可以使用 excel 将文本格式化为列,这应该会有所帮助
  • 什么是内存不足?您如何准确地导出它? SQL开发者? PL/SQL 开发人员?蟾蜍? SQL*Plus? UTL_FILE?爪哇?桌子有多大? 500,000 行可能小于 5MB!
  • @Ben pl/sql developer

标签: oracle plsql


【解决方案1】:

以 sqlplus 形式编写文件输出非常容易。 mycsv.sql:

SET DEFINE OFF
SET ECHO OFF
SET SERVEROUTPUT OFF
SET TERMOUT OFF
SET VERIFY OFF
SET FEEDBACK OFF
SET PAGESIZE 10000
SET ARRAYSIZE 5000
REM SET HEAD OFF
SET LINE 500
spool /tmp/mycsvfile.csv;
select * from MY_table;
spool off;
exit;

在 Linux 提示符下,您可以像

一样运行
$> sqlplus username/password @/tmp/mycsv.sql

【讨论】:

  • ..pl/sql也一样吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 2016-03-06
  • 2012-04-19
  • 2023-01-07
  • 1970-01-01
  • 2016-04-20
  • 2021-05-29
相关资源
最近更新 更多