oracle insert all 复合表插入
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,insert all (复合表插入),是将一个查询结果同时插入多个表中的功能。使用insert all的好处是通过读取一次源表就可以插入多张目标表,减少重复读取的开销。语法:INSERT [ALL]
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
网络安全领域需要注意什么
mysql数据库加锁
中职软件开发人才培养方案
中国科学引文索引数据库入口
网络安全知识竞赛证书保存不了
抓蜂窝网络安全知识
浦江青迈网络技术有限公司
服务器管理系统如何搭建
大数据软件开发价位
软件开发cpu要求
服务器安全保密性说明
网络安全技能全国大赛
盒子搭建web服务器
河南暴雨与网络安全
网络安全直播
安宁信息化软件开发报价表
vm搭建虚拟服务器
derent专利数据库
审计多措并举加强网络安全管理
中小企业网络安全管理办法
数据库查询视频教程
中山正规软件开发多少钱
漳州开发区禾苒网络技术工作室
网络安全法 条幅
邮件发到对方服务器啥意思
网站换一个服务器
饥荒联机版服务器搭建
淘宝关键词数据库怎么搜索
新起点上开创网络安全工作
数据库发生死锁图示