当前位置 : IT培训网 > 常见问题 > 数据库小常识 聊聊insert all和insert first语句用法

数据库小常识 聊聊insert all和insert first语句用法

时间:2019-04-29 13:22:15  来源:编程网  作者:IT培训网  已有:名学员访问该课程
数据库中,insert all和insert first语句,是用于按给定条件同时向多个表插入数据,两者有什么区别呢?IT培训网和你一起聊数据库小常识,让你清楚了解insert all和insert first语句用法,如下所示:记录了两者的用法和区别。

数据库中,insert all和insert first语句,是用于按给定条件同时向多个表插入数据,两者有什么区别呢?IT培训网和你一起聊数据库小常识,让你清楚了解insert all和insert first语句用法,如下所示:记录了两者的用法和区别。

数据库小常识 聊聊insert all和insert first语句用法_www.itpxw.cn

简述insert all和insert first用法

1、无条件insert all

用于不分条件的向几个表同时插入一批数据。

建立测试表

create table t1(a number, b varchar2(20));

insert into t1 values(1, 'aaa');

insert into t1 values(2, 'bbb');

insert into t1 values(3, 'ccc');

commit;

create table t2(a number, b varchar2(20));

create table t3(a number, b varchar2(20));

create table t4(a number, b varchar2(20));

从第一个表中获取数据,并同时写入其它几个表,各个表可以有不同的值

insert all into t2 values (a + 1, b)

into t3 values (a + 2, b)

select a, b from t1;

commit;

如果各个表插入的数据一样,则以上还可以简化

insert all into t2

into t3

select a, b from t1;

commit;

2、有条件insert all

根据查询数据的不同值,分别插入不同表

insert all when a >=1 then

into t2

when a >=2 then

into t3

else

into t4

select a, b from t1;

commit;

观察几个表的查询结果

select * from t1;

A B

1 aaa

2 bbb

3 ccc

select * from t2;

A B

1 aaa

2 bbb

3 ccc

select * from t3;

A B

2 bbb

3 ccc

select * from t4;

未选定行

3、有条件insert first

如果第一个when子句的值为true,对于给定的行执行相应的into子句,并且跳过后面的when子句,后面的插入语句不再执行

insert first when a >=1 then

into t2

when a >=2 then

into t3

else

into t4

select a, b from t1;

commit;

观察表的查询结果

select * from t1;

A B

1 aaa

2 bbb

3 ccc

select * from t2;

A B

1 aaa

2 bbb

3 ccc

select * from t3;

未选定行

select * from t4;

未选定行

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容

相关热点