all应该好理解,first即使条件中记录有交集,数据也是不会有的,从第一个条件开始取数,剩下的数据再和下面的条件进行依次匹配
SQL> create table tmp(col1 number);
表已创建。
SQL> create table tmp1(col1 number);
表已创建。
SQL> create table tmp2(col1 number);
表已创建。
SQL> insert into tmp values(1);
已创建 1 行。
SQL> insert into tmp values(2);
已创建 1 行。
SQL> insert into tmp values(3);
已创建 1 行。
SQL> insert into tmp values(4);
已创建 1 行。
SQL> insert all
2 when col1>2 then into tmp1 values(col1)
3 when col1>1 then into tmp2 values(col1)
4 select col1 from tmp;
已创建5行。
SQL> commit;
提交完成。
SQL> select * from tmp;
COL1
----------
1
2
3
4
SQL> select * from tmp1;
COL1
----------
3
4
SQL> select * from tmp2;
COL1
----------
2
3
4
SQL> insert first
2 when col1>2 then into tmp1 values(col1)
3 when col1>1 then into tmp2 values(col1)
4 select col1 from tmp;
已创建3行。
SQL> commit;
提交完成。
SQL> select * from tmp1;
COL1
----------
3
4
SQL> select * from tmp2;
COL1
----------
2
SQL>
表已创建。
SQL> create table tmp1(col1 number);
表已创建。
SQL> create table tmp2(col1 number);
表已创建。
SQL> insert into tmp values(1);
已创建 1 行。
SQL> insert into tmp values(2);
已创建 1 行。
SQL> insert into tmp values(3);
已创建 1 行。
SQL> insert into tmp values(4);
已创建 1 行。
SQL> insert all
2 when col1>2 then into tmp1 values(col1)
3 when col1>1 then into tmp2 values(col1)
4 select col1 from tmp;
已创建5行。
SQL> commit;
提交完成。
SQL> select * from tmp;
COL1
----------
1
2
3
4
SQL> select * from tmp1;
COL1
----------
3
4
SQL> select * from tmp2;
COL1
----------
2
3
4
SQL> insert first
2 when col1>2 then into tmp1 values(col1)
3 when col1>1 then into tmp2 values(col1)
4 select col1 from tmp;
已创建3行。
SQL> commit;
提交完成。
SQL> select * from tmp1;
COL1
----------
3
4
SQL> select * from tmp2;
COL1
----------
2
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10742223/viewspace-448312/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10742223/viewspace-448312/