oracle insert all 复合表插入
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,insert all (复合表插入),是将一个查询结果同时插入多个表中的功能。使用insert all的好处是通过读取一次源表就可以插入多张目标表,减少重复读取的开销。语法:INSERT [ALL]
千家信息网最后更新 2025年11月07日oracle insert all 复合表插入
insert all (复合表插入),是将一个查询结果同时插入多个表中的功能。使用insert all的好处是通过读取一次源表就可以插入多张目标表,减少重复读取的开销。
语法:
INSERT [ALL] [conditional_insert_clause]
[insert_into_clause value_clause] (subquery);
conditional_insert_clause is:
[ALL] [FIRST]
[WHEN condition THEN] [insert_into_clause value_clause]
[ELSE] [insert_into_clause value_clause]
all:不考虑先后关系,只要满足条件,就全部插入;
first:考虑先后关系,如果有数据满足第一个when条件又满足第二个when条件,则执行第一个then插入语句,第二个then就不插入第一个then已经插入过的数据了。
其区别也可描述为,all只要满足条件,可能会作重复插入;first首先要满足条件,然后筛选,不做重复插入
示例:
insert all when c1<1000 then into samall_orders values (oid,c1,sid,cid) when c1 <2000 then into medium_orders values (oid,c1,sid,cid) when c1>2000 and c1 <2900 then into large_orders vlaues (oid,c1,sid,cid) else into special_orders select oid,c1,sid,cid from orders;
指定insert first 当第一个when条件成立时,执行该when条件后的语句,并且跳过后面的 WHEN 子句(后面的when语句都不再考虑满足第一个When子句的记录,即使该记录满足when语句中的条件)。
insert first when c1<1000 then into samall_orders values (oid,c1,sid,cid) when c1 <2000 then into medium_orders values (oid,c1,sid,cid) when c1>2000 and c1 <2900 then into large_orders vlaues (oid,c1,sid,cid) else into special_orders select oid,c1,sid,cid from orders;
上面两条语句区别在第二个when条件,insert all 中 第二个条件会插入orders 表中c1<2000的记录,insert first 中第二个when条件会插入orders表中1000
条件
语句
子句
先后
数据
功能
同时
多个
多张
好处
开销
目标
示例
结果
语法
过后
面的
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嘉定区现代化网络技术收购价
学校网络安全管理组织机构
数字货币受益最大的网络安全公司
手机版我的世界小游戏服务器号
网络技术关键工作
np网络技术
国际版2b2t服务器推荐
数据库中更改数据的命令
数据库应用技术阎红艳
笔画数据库
如何在服务器上搭建宝塔
服务器20个ip设置到同一网口
江门通讯软件开发价目表
远程登录服务器 软件
服务器请求异常
中国未来网络安全会怎么发展
数据库中int是几位
aaa云服务器
服务器基本安全配置策略
张家港网络安全管理局
5g时代网络安全面临的新挑战
渝北区软件开发电话
金铲铲之战一区是哪个服务器
一次数据库调用大约多久
青云战歌数据库清理
网络安全安防概念股
分类数据库设计
计算机网络技术确定发展目标
攻克网络安全奖励
如何用易语言收集数据库