INSERT ALL 和INSERT FIRST 的區別
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 的 INSERT ALL和INSERT FIRSTOracle
- Oracle中的insert/insert all/insert firstOracle
- insert /*+ append */ into 與insert into 的區別APP
- insert和insertSelective區別
- MySQL中REPLACE INTO和INSERT INTO的區別分析MySql
- 深入SQL之 insert allSQL
- insert into 與 select into 的區別
- 直接insert與儲存過程insert效能區別儲存過程
- oracle insert all多表插入的示例Oracle
- select into from 和 insert into select 的用法和區別
- insert into select 與 create table as的用法和區別(轉)
- Oracle批量插入資料insert all into用法Oracle
- oracle insert all 特性-------9i開始Oracle
- FIRST_ROWS和FIRST_ROWS_n的區別
- union all和union的區別
- union和union all的區別
- Oracle insert all一次插入多個表中Oracle
- FIRST_ROWS和FIRST_ROWS(N)的區別 (zt)
- mysqPoint型別查詢和插入操作:insert和select型別
- 用insert all實現同時向多表插入資料
- union 和union all 使用區別
- Multitable Insert
- sql中UNION和UNION ALL的區別SQL
- oracle bulk Insert 比insert 快不是一點啊.Oracle
- SQL__INSERTSQL
- MySQL INSERT DELAYEDMySql
- Search Insert Position
- Oracle Insert BLOBOracle
- E - Insert or Erase
- insert into select
- insert images to a plot
- mysql insert的特殊用法MySql
- 我渴望的insert操作!
- insert WITH CHECK OPTION的用法
- sql server merge 做insert和updateSQLServer
- nologging和insert /*+append*/APP
- :first-child與:first-of-type 區別
- CTAS和insert append的一個測試APP