oracle insert all 复合表插入
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,insert all (复合表插入),是将一个查询结果同时插入多个表中的功能。使用insert all的好处是通过读取一次源表就可以插入多张目标表,减少重复读取的开销。语法:INSERT [ALL]
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
服务器r740
交通局网络安全工作方案
怎么成为京东服务器
服务器专用kvm
南京推荐软件开发平台
深圳新基宏互联网科技有限公司
部署linux服务器实训成果
上传到数据库
数据库for mac
全球目前有多少个服务器
学校网络安全应急演练案简报
武装突袭3架设服务器
繁体数据库移到简体
绝地求生代理服务器怎么关闭
软件开发进国企
本地服务器配置
熟悉网络安全的重要性
游戏软件开发专业主要课程
沈阳调度服务器报价
服务器规模
宁夏进销存软件开发教程
杭州富阳区应用软件开发
学习unity3d软件开发
联通通讯网络技术是干嘛的
java整体数据库打包
怎么登陆服务器管理界面
云网络安全解决方案
哪些高校买了wind数据库
服务器修改端口重启没有生效
泰拉瑞亚国际服服务器踢人教学