加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

使用SQL有效地插入大量数据

发布时间:2021-04-02 12:07:10 所属栏目:编程 来源:网络整理
导读:嗨我常常必要在表格中插入大量数据.譬喻,我将以excel或文本文件的情势提供数据 1,a3,bsdf4,sdkfj5,something129,else 然后我常常在这个例子中结构6个插入语句并运行SQL剧本.当我必需向处事器发送数千个小包时,我发明这很慢,这也会给收集带来特另外开销. 你最

嗨我常常必要在表格中插入大量数据.譬喻,我将以excel或文本文件的情势提供数据

1,a
3,bsdf
4,sdkfj
5,something
129,else

然后我常常在这个例子中结构6个插入语句并运行SQL剧本.当我必需向处事器发送数千个小包时,我发明这很慢,这也会给收集带来特另外开销.

你最好的要领是什么?

更新:我正在行使ORACLE 10g.

办理要领

行使 Oracle external tables.

另见譬喻

> OraFaq about external tables
> What Tom thinks about external tables
> René Nyffenegger’s notes about external tables

一个简朴的例子,应该让你开始

您必要一个位于处事器目次中的文件(认识directory objects):

SQL> select directory_path from all_directories where directory_name = 'JTEST';

DIRECTORY_PATH
--------------------------------------------------------------------------------
c:datajtest

SQL> !cat ~/.gvfs/jtest on 192.168.xxx.xxx/exttable-1.csv
1,else

建设外部表:

create table so13t (
  id number(4),data varchar2(20)
)
organization external (
  type oracle_loader
  default directory jtest /* jtest is an existing directory object */
  access parameters (
    records delimited by newline
    fields terminated by ','
    missing field values are null
  )
  location ('exttable-1.csv') /* the file located in jtest directory */
)
reject limit unlimited;

此刻,您可以行使SQL的全部成果来会见数据:

SQL> select * from so13t order by data;

        ID DATA
---------- ------------------------------------------------------------
         1 a
         3 bsdf
       129 else
         4 sdkfj
         5 something

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读