oracle批量新增更新数据详解数据库
2023-06-13 09:20:12 时间
本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法:
批量新增数据
对于批量新增数据,介绍两种方法
(1)命令窗口执行的
一种需要在命令窗口执行的,Oracle数据库可以使用sqlplus或者plsql developer客户端软件
可以使用sqlplus工具登录,进入数据库
sqlplus / as sysdba
查看用户,可以用命令
show parameter db_name
plsql developer也可以使用,登录之后,选择文件(File)- 新建(New)- 命令窗口(Command Window)
假如要往表格t里写1000条数据,可以用如下批处理命令:
begin for i in 1 .. 1000 loop execute immediate insert into t values(|| i ||); end loop; commit; end;
ps:这个commit提交事务,放的位置也是有区别的,具体可以参考我之前的博客,Oracle体系结构学习笔记里面有涉及到
(2) SQL窗口执行的
然后介绍sql窗口执行的方法,因为命令窗口执行有时候觉得不太便利,所以可以使用sql窗口的方法,语法大致为:
insert into [表格名称](字段名称1,字段名称2,...) [查询SQL]
给个例子,sys_guid()生成uuid数据,sysdate获取当前时间,然后批量写数据,根据查询sql来
insert into t_stuff_dir_related (seq, dir_seq, create_date, create_man, stuff_id, t_item) select sys_guid(), uuidss, sysdate, admin, b.rs_id, a.t_item from t_itm_define a where a.is_valid =1
批量更新数据
对于批量更新的和批量新增方法类型,同样可以用命令窗口和sql窗口两种方法
(1)命令窗口执行的
同样可以用如下批处理命令:
begin for i in 1 .. 1000 loop execute immediate ${更新SQL}; end loop; commit; end;
(1)SQL窗口执行的
批量更新加了where条件就可以
update t_itm_rcv_stuff stuff set stuff.dir_seq = ${目录SEQ}, stuff.dir_name = ${目录名称} where stuff.t_item in (select a.t_item from t_itm_define a)
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/5065.html
oracle相关文章
- 掌握Oracle命令语句,实现SQL高效率编程(oracle命令语句)
- 深入探讨Oracle和数据库的差异(oracle与数据库不同)
- 深入解析Oracle数据库触发器类型(oracle触发器类型)
- 优化如何利用Oracle数据库实现建表优化(oracle数据库建表)
- Oracle数据库触发器类型及其应用(oracle触发器类型)
- Oracle数据库的分区方式及优劣势(oracle分区方式)
- 不可以使用警惕:Oracle中禁止使用列名(oracle的列名)
- 获取Oracle数据库中的前几条数据(oracle前几条数据)
- Oracle数据库服务的收费方式研究(oracle 收费方式)
- 管理Oracle数据库的注册监听功能(oracle注册监听)
- 、视图构建Oracle数据库中的表和视图(oracle数据库 表)
- 测试oracle数据库之内置测试表(oracle内置测试表)
- Oracle 从筛选到联结,实现最强大的查询功能(oracle先筛选后关联)
- Linux下安装Oracle数据库的步骤(linu安装oracle)
- Oracle技术数据库精髓之管理中心(oracle主要技术)
- 为何Oracle数据库无法使用索引(oracle使用不了索引)
- Oracle数据库优化的研究与实践(oracle 优化 论文)
- 探索Oracle数据库中的Desc信息(oracle中的desc)
- Oracle 中的 SQL 语句编写技巧(oracle中或者怎么写)
- 换行Oracle中如何去除回车换行(oracle中去除回车)
- Oracle 10基础配置路径修正与优化(oracle10基本配置)