Oracle之你知道哪几种多表Insert的方式?

简介: Oracle之你知道哪几种多表Insert的方式?

今日份知识学习

今天我们来学习一下Insert的方式,虽然Insert语句基本上是我们的入门第一课,但是我们也要说一下的,因为今天说的这几种多表数据插入,一定有你不知道的。

具体讲解

直言不讳,多表插入相关的语句,目前有三种情况,下面我们会一一讲解。

无条件的Insert

无条件的Insert,也就是没有任何操作,直接将查出来的结果集插入到多表中,如下面的SQL所示:

insert all into user_table_1(name, pwd, age) values (name, pwd, age)
           into user_table_2(name, pwd, content) values (name, pwd, content)
select name, pwd, age, content from user_table where name is not null;

经过上面的SQL,我们会在user_table_1和user_table_2表中均会增加相同的数据条数。

这就是没有加入条件的效果。

有条件的Insert All

在有条件的Insert All中,我们只需要关注一个点,条件在什么地方加?

insert all 
when age in (2, 3) then into user_table_1(name, pwd, age) values (name, pwd, age)
when name = '张三' then into user_table_2(name, pwd, content) values (name, pwd, content)
select name, pwd, age, content from user_table where name is not null;

增加了条件后,结果就不再一样了,有兴趣的大家可以自行试一下。

Insert First

Insert First相对比前两个就不太一样了,从名称来看,是插入第一个的意思,功能上也是如此,就是要插入第一个符合条件的数据。

比如这个示例SQL:

insert first 
when age in (2, 3) then into user_table_1(name, pwd, age) values (name, pwd, age)
when name = '张三' then into user_table_2(name, pwd, content) values (name, pwd, content)
select name, pwd, age, content from user_table where name is not null;

没有太多的SQL变化,只是将关键字换了first,这时候如果存在多个age=2或者3的数据,也只会存入第一条数据而已。

总结

今日学习了三种多表插入数据的方式,你是否有所收获呢?

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。

目录
相关文章
|
Oracle 关系型数据库 数据库
Oracle生产数据库insert插入较慢分析过程和解决办法
Oracle生产数据库insert插入较慢分析过程和解决办法
325 0
|
1月前
|
SQL Oracle 关系型数据库
Oracle insert数据时字符串中有‘单引号问题
Oracle insert数据时字符串中有‘单引号问题
Zp
|
SQL Oracle 关系型数据库
Oracle sql 批量插入 Insert all into
Oracle sql 批量插入 Insert all into
Zp
291 0
|
机器学习/深度学习 SQL 关系型数据库

推荐镜像

更多