oracle insert all 基本語法 1

2021-06-22 02:51:13 字數 1255 閱讀 1318

在oracle的學習過程中,我相信大家都知道insert的語法,那麼insert all大家是不是常用到呢。那我就先做乙個例子,給大家演示下。

先看演示表

上面sales_source_data表,記錄了每個員工每月的銷售量。用1條記錄表示。

下面的表是按著每個員工每個月銷售的量sales。

上面的6條記錄正好是sales_source_data表employee_id=1那條記錄,行轉列的效果。那麼怎麼能用一條sql實現呢,這裡就要用到insert  all了。

insert all

into sales_info values(employee_id,week_id,sales_jan)

into sales_info values(employee_id,week_id,sales_feb)

into sales_info values(employee_id,week_id,sales_mar)

into sales_info values(employee_id,week_id,sales_apr)

into sales_info values(employee_id,week_id,sales_may)

into sales_info values(employee_id,week_id,sales_jun)

select employee_id,week_id,sales_jan,sales_feb,sales_mar,sales_apr,sales_may,sales_jun

from sales_source_data where employee_id=1

通過上面的語法我們可以輕鬆的實現。那麼insert all有什麼限制呢。

1. 只能對錶執行多表插入語句,不能對檢視或物化檢視執行;

2. 不能對遠端表執行多表插入語句;

3. 不能使用表集合表示式;

4. 不能超過999個目標列;

5. 在rac環境中或目標表是索引組織表或目標表上建有bitmap索引時,多表插入語句不能並行執行;

6. 多表插入語句不支援執行計畫穩定性;

7. 多表插入語句中的子查詢不能使用序列。

insert all 特性二:

Oracle insert all語句介紹

oracle 中insert語句的高階用法,insert all 語句介紹 蘋果 1 insert into t1 values 222,橘子 1 insert into t1 values 333,香蕉 1 commit create table t2 as select from t1 wher...

oracle insert all 復合表插入

insert all 復合表插入 是將乙個查詢結果同時插入多個表中的功能。使用insert all的好處是通過讀取一次源表就可以插入多張目標表,減少重複讀取的開銷。語法 insert all conditional insert clause insert into clause value cla...

go基本語法 golang基本語法

匯入包 import fmt import fmt os 函式外申明變數 var a int 函式內申明變數 a slice申明 slice本質是指向陣列的指標 var s int var s int make int,3 s make int,3 基於陣列建立slice a 3 int s a 3...