oracle insert all 复合表插入
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,insert all (复合表插入),是将一个查询结果同时插入多个表中的功能。使用insert all的好处是通过读取一次源表就可以插入多张目标表,减少重复读取的开销。语法:INSERT [ALL]
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
软件开发以后可以干什么
轻量级服务器如何登录
服务器异常启动
肇庆聊天软件开发
网络技术考取证书
伟创网络技术公司招聘
近期国内最好的网络安全大学
互联网公司为何称为科技公司
达梦数据库怎么delete
软件开发转行做什么
邓州市网络安全宣传
精简系统装数据库
传统网络安全知识
昆明服务器上门回收价格
石化党建服务器错误怎么办
网络安全竞技赛
fivem服务器怎么设置中文
工商银行网络安全宣传周
工商银行软件开发难度
我的世界脏小豆骗赞服务器1
万方数据库可以查中国博士论文吗
数据库建包
网络安全有关的英语单词
2018河北共需网络安全
无锡一站式软件开发产品介绍
mysql查询整个数据库
服务器有无线网卡吗
以色列网络安全合作
城堡争霸哪个服务器好玩
茂名卫星软件开发市价