insert all
when a1='001' then into a1
when a1='002' then into a2
when a1='003' then into a3
when a1='004' then into a4
when a1='005' then into a5 select * from test;
關於insert first和insert all insert first/all
利用insert first/all使得insert語句可以同時插入多張表,還可以根據判斷條件來決定每條記錄插入到哪張或哪幾張表中。
insert first/all語法
[ all | first ]
when condition then insert_into_clause [values_clause]
[insert_into_clause [values_clause]]...
[when condition then insert_into_clause [values_clause]
[insert_into_clause [values_clause]]...
]...
[else insert_into_clause [values_clause]
[insert_into_clause [values_clause]]...
] insert first/all 是對每一行來進行判斷
兩者區別:
insert first:對於每一行資料,只插入到第乙個when條件成立的表,不繼續檢查其他條件。
insert all :對於每一行資料,對每乙個when條件都進行檢查,如果滿足條件就執行插入操作。
做乙個小試驗驗證一下:
create table a(a number,b number);
create table b as select * from a;
create table c as select * from a;
sql> select * from a;
a b-- ---
1 01 1
1 22 0
3 0--測試insert first
執行:sql>insert first
when a=1 then
into b
when b=0 then
into c
select * from a;
--檢查insert first執行結果
sql> select * from b;
a b-- --
1 01 1
1 2sql> select * from c;
a b-- ---
2 03 0
--清理現場
sql> delete from b;
sql> delete from c;
--繼續測試insert all
執行:sql>insert all
when a=1 then
into b
when b=0 then
into c(a,b)
select * from a;
--檢查insert all執行結果
sql> select * from b;
- ---
1 01 1
1 2sql> select * from c;
a b-- ---
1 02 0
3 0多表插入語句的限制條件:
只能對錶執行多表插入語句,不能對檢視或物化檢視執行;
不能對遠端表執行多表插入語句;
不能使用表集合表示式;
不能超過999個目標列;
在rac環境中或目標表是索引組織表或目標表上建有bitmap索引時,多表插入語句不能並行執行;
多表插入語句不支援執行計畫穩定性;
多表插入語句中的子查詢不能使用序列。
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...
機械秒錶的使用方法 秒錶的使用方法!
秒錶是一種常用的測時儀器。又可稱 機械停表 由暫停按鈕 發條柄頭 分針等組成。它是利用擺的等時性控制指標轉動而計時的。它是利用擺的等時性控制指標轉動而計時的。在它的正面是乙個大表盤,上方有乙個小表盤 圖1.4 2 秒針沿大表盤轉動,分針沿小表盤轉動。分針和秒針所指的時間和就是所測的時間間隔。在表正上...
使用方法 離型劑使用方法
1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...