问题:需通过PLSQL导十几万笔大量数据到Oracle数据库中;
环境:已建好表中ID为GUID;
解决方法:先导数据到新建表(无GUID)中,然后再select sys_guid(),* into 表名 from 新表名;
导数据步骤(百度到的方法,试了好用):
step1:首先,可以不按照数据库中的字段存放顺序,编辑形成Excel表中的数据,
准备导入到oracle中:
step2:把Excel文件另存为(文本文件(制表符分隔)(*.txt))
在另存为之前要选中Excel中要另存为的数据,否则形成的txt文件可能导入不了plsql中:
进入PlSQL,选择菜单栏中的工具>文本导入器,进入到文本导入器的页面后,
先点击“来自文本文件的数据”选项卡,然后点击打开按钮,选择数据录入.txt文件。
在选择之前必须要把相应的Excel文件关闭,否则txt文件无法导入:
step4:此时“文件数据”中会显示:
step5:在“配置”进行配置:
如果不将标题名勾选上,则会导致字段名也当做记录被导入到数据库中,影响正确录入。
说明:由于在Excel中,超过15位的数字后三位会显示为0,需要在输入的数值前输入英文单引号,这样数值就能正常显示了。
由于身份证号码是18位的数字,所以其前面有一个单引号,可以通过(4)中的文件数据中看到身份证号码相对应的字段值前面确实有一个单引号,
那么在配置中设置字段开始位置时,就应将相对位置设置为1。
step6:“结果预览”中可以看到:
step7:点击“到Oracle中的数据”选项卡:
step8:点击下方的“导入”按钮:
可以看到导入成功。