insert all和insert first語句的用法
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;
未選定行
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2642735/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle中的insert/insert all/insert firstOracle
- SQLite Insert 語句SQLite
- Oracle批量插入資料insert all into用法Oracle
- [20181120]奇怪的insert語句.txt
- 【SQL】9 SQL INSERT INTO 語句SQL
- insert into select語句與select into from語句
- 教你使用SQLite-insert語句SQLite
- 過往記憶的專欄文章轉載:Hive insert into語句用法Hive
- mysql insert的特殊用法MySql
- SQLite語句(二):INSERT DELETE UPDATE SELECTSQLitedelete
- PostgreSQL的insert語句執行過程分析SQL
- select into from 和 insert into select 的用法和區別
- DBeaver如何生成select,update,delete,insert語句delete
- oracle-資料庫- insert 插入語句Oracle資料庫
- MySQL:一個簡單insert語句的大概流程MySql
- KunlunDB功能之insert/update/delete...returning語句delete
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- Exadata混合列壓縮功能與INSERT語句BF
- 輕量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 語句ORMSQLdelete
- INSERT...SELECT語句對查詢的表加鎖嗎
- mysql中last_insert_id()用法MySqlAST
- Oracle中 Update和insert結合語法Oracle
- TiDB 原始碼閱讀系列文章(十六)INSERT 語句詳解TiDB原始碼
- 比CRUD多一點兒(二):基礎INSERT、SELECT語句
- PostgreSQL 原始碼解讀(14)- Insert語句(如何構造PlannedStmt)SQL原始碼
- Python中insert用法及實戰案例!Python
- SQL INSERT INTO 語句詳解:插入新記錄、多行插入和自增欄位SQL
- Oracle insert all一次插入多個表中Oracle
- insert和insertSelective區別
- mysql update join,insert select 語法MySql
- MySQL全文索引原始碼剖析之Insert語句執行過程MySql索引原始碼
- Oracle exp dmp包檔案轉化為insert語句,extract dmp to sqlfileOracleSQL
- PostgreSQL 原始碼解讀(15)- Insert語句(執行過程跟蹤)SQL原始碼
- insert into select
- 【ASK_ORACLE】使用insert語句將普通錶轉換成分割槽表Oracle
- insert images to a plot
- E - Insert or Erase
- SQL__INSERTSQL