使用PL/SQL Developer将excel导入oracle的问题

时间:2021-08-13 22:58:06
将excel导入oracle,网上找到几种方法,PL/SQL Developer应该是最简单的了吧

表结构
使用PL/SQL Developer将excel导入oracle的问题

表里原始数据
使用PL/SQL Developer将excel导入oracle的问题

excel数据
使用PL/SQL Developer将excel导入oracle的问题

--------------
1、复制excel数据
使用PL/SQL Developer将excel导入oracle的问题
2、SQL Window里select * from test_table for update,执行
3、SQL Window里解锁,点“+”,选中第一行
使用PL/SQL Developer将excel导入oracle的问题
4、粘贴数据
使用PL/SQL Developer将excel导入oracle的问题
5、 问题
使用PL/SQL Developer将excel导入oracle的问题
原来的数据少了一部分,新数据的ID列也没有添加进来,是什么地方操作错误么

10 个解决方案

#1


在excel前加一空列,连空列一起复制粘贴到plsql中

#2


引用 1 楼 cappuccinoc 的回复:
在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据

#3


引用 2 楼 liangtianheng 的回复:
Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

#4


我是这么弄的 
先选中所有的列,然后粘贴,是从列名开始选的。然后复制的是什么贴进去就是什么。
你可以试试~

#5


引用 3 楼 lyliu602 的回复:
Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?

#6


引用 4 楼 Lycheeay 的回复:
我是这么弄的 
先选中所有的列,然后粘贴,是从列名开始选的。然后复制的是什么贴进去就是什么。
你可以试试~

就是。。。。我一次贴全部的。。。。

#7


引用 5 楼 liangtianheng 的回复:
Quote: 引用 3 楼 lyliu602 的回复:

Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?


如果有主键新数据和原数据有重复,这个肯定会报错了,
如果需要copy必须在前面加一空列。
或者楼主使用外部表吧?

#8


引用 7 楼 lyliu602 的回复:
Quote: 引用 5 楼 liangtianheng 的回复:

Quote: 引用 3 楼 lyliu602 的回复:

Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?


如果有主键新数据和原数据有重复,这个肯定会报错了,
如果需要copy必须在前面加一空列。
或者楼主使用外部表吧?

外部表是什么意思

#9


外部表:加载和卸载数据,只读,不能进行修改,外部表是对数据库表的延伸 ,需要先创建Directory然后创建表

#10


引用 9 楼 lyliu602 的回复:
外部表:加载和卸载数据,只读,不能进行修改,外部表是对数据库表的延伸 ,需要先创建Directory然后创建表

哦,谢谢了

#1


在excel前加一空列,连空列一起复制粘贴到plsql中

#2


引用 1 楼 cappuccinoc 的回复:
在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据

#3


引用 2 楼 liangtianheng 的回复:
Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

#4


我是这么弄的 
先选中所有的列,然后粘贴,是从列名开始选的。然后复制的是什么贴进去就是什么。
你可以试试~

#5


引用 3 楼 lyliu602 的回复:
Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?

#6


引用 4 楼 Lycheeay 的回复:
我是这么弄的 
先选中所有的列,然后粘贴,是从列名开始选的。然后复制的是什么贴进去就是什么。
你可以试试~

就是。。。。我一次贴全部的。。。。

#7


引用 5 楼 liangtianheng 的回复:
Quote: 引用 3 楼 lyliu602 的回复:

Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?


如果有主键新数据和原数据有重复,这个肯定会报错了,
如果需要copy必须在前面加一空列。
或者楼主使用外部表吧?

#8


引用 7 楼 lyliu602 的回复:
Quote: 引用 5 楼 liangtianheng 的回复:

Quote: 引用 3 楼 lyliu602 的回复:

Quote: 引用 2 楼 liangtianheng 的回复:

Quote: 引用 1 楼 cappuccinoc 的回复:

在excel前加一空列,连空列一起复制粘贴到plsql中

在excel前加一空列确实可行,但是为什么粘贴之后表的原始数据没有了,只有新粘贴的数据


你在最下面粘贴,把他粘贴到最后面就可以了
或者
select t.*,t.rowid from table t where 1<>1 然后在粘贴

如果有主键新数据和原数据有重复,会报错?添加数据失败?
另外,只能在excel前加一空列,没其他的决绝办法?


如果有主键新数据和原数据有重复,这个肯定会报错了,
如果需要copy必须在前面加一空列。
或者楼主使用外部表吧?

外部表是什么意思

#9


外部表:加载和卸载数据,只读,不能进行修改,外部表是对数据库表的延伸 ,需要先创建Directory然后创建表

#10


引用 9 楼 lyliu602 的回复:
外部表:加载和卸载数据,只读,不能进行修改,外部表是对数据库表的延伸 ,需要先创建Directory然后创建表

哦,谢谢了