PLSQL-将一份excel数据导入到一张物理表(Oracle)

-->> 很简单~ 平时用惯了DBeaver,突然要用PLSQL Developer,确实很生疏。

-->> 我的场景,将一份.csv文件数据手动导入到Oracle下的一张物理表中去。

研究了半天,看网上说的可以用:Tools → ODBC Importer ,然后再选择csv啥的即可,一打开我的PLSQL,啊,空白的啊,啥都没有... 就知道大事不妙,一上网搜,看着就很麻烦,什么装这装那的。


敲黑板,重点来了,不需要花里胡哨,不需要安装其它软件或者配置什么文件。具体步骤如下:

1、在plsql中执行 select * from tableName for update

2、将oracle的锁型点击成开锁状态,如截图:

在Oracle中,FOR UPDATE子句用于SELECT语句中,以便在检索数据的同时锁定这些数据,防止其他会话在此期间修改它们。这个子句通常用于需要确保数据一致性的情况,特别是在多用户环境中,当多个会话可能同时尝试修改相同的数据时。
你正在告诉Oracle数据库:从tableName表中选择所有列的所有行。在选择这些行的同时,对它们进行锁定,以便只有当前会话可以修改这些行。这种锁定通常是排他性的,意味着其他会话将无法对这些行执行更新、删除或插入操作,直到当前会话释放锁(通常是通过提交或回滚事务)

这个时候,你会遇到另一个问题,如果你要新增数据的这张表数据量很大,那么难道真得要把所有的数据都加载出来之后再在最后一行新增吗?显然是不合适得,所以其实你可以加一个不成立的条件,使得查询窗口出来的地方为空白,这样是不是更方便?

select * from tableName where 1=2 for update


最后的最后,记得插入的数据/excel文件,要在第一列新增一列,空白也行/ID也行,总之要再插入一列,这样数据就不会错位。


遇到有字段,比如日期,是设置为默认值取系统时间的,那么我们在导入的时候,只需要确保.cvs文件数据表头有这一列就行,导入之后数据库会自动赋值得。

相关推荐
IT策士6 分钟前
Redis 从入门到精通:分片之道 —— Redis Cluster
数据库·redis·缓存
AOwhisky41 分钟前
学习自测与解析:Redis系列第一期与第二期核心知识点详解
运维·数据库·redis·学习·云计算
霸道流氓气质1 小时前
Spring Boot 大数据量 Excel 导入导出功能实现指南
spring boot·后端·excel
kishu_iOS&AI1 小时前
LLM —— Milvmus向量数据库
数据库·人工智能·milvus
霸道流氓气质1 小时前
Java 单元测试生成大量 Excel 测试数据实战指南
java·单元测试·excel
名不经传的养虾人1 小时前
从0到1:企业级AI项目迭代日记 Vol.46|三个检索源、缓存限流、深度整合——联网检索一日冲刺
数据库·人工智能·agent·ai编程·ai工作流·企业ai
BugShare1 小时前
Mac 上原生开发的开源免费、尽享丝滑数据库工具
数据库·macos·开源
Java爱好狂.1 小时前
阿里1658页2026最新Java面试题总结(含答案)
数据库·redis·程序员·java面试·java面试题·java编程·java八股文
jieyucx1 小时前
《Go 数据库编程开篇:彻底打通 database/sql 与 MySQL 驱动的连接池调优密码》
数据库·sql·golang
白露与泡影1 小时前
深入理解MySQL事务隔离级别:MVCC机制与Next-Key Lock如何解决幻读问题?
数据库·mysql