oracle 資料庫多表插入詳解

2021-12-30 00:39:05 字數 1259 閱讀 4253

插入多表操作。

大部分插入操作是針對單錶操作的。但是oracle支援多表插入(insert)語句 。在資料倉儲方面的抽取、轉移和裝入(etl,extract transform and load)的例程方面方面你將頻繁的用到多表插入操作。

通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多個資料表裡面。通過減少整個資料的路徑,來減少減少工作量,因此去的更快的輸出。

如果乙個when條件為真(true),相關的into語句被執行。如果沒有條件為真,為真,那麼else條款被執行。關鍵字all告訴資料庫,檢查when後面的

每乙個條件.另一方面,關鍵字first告訴資料庫當檢查when條件的第乙個條件為真是,停止檢查後續條件。

下面的例子,是乙個保險公司有兩個保險條款,財產和意外傷害在條款表裡。再是在資料市場裡,他們把這兩個表分成單獨的事實表。在每月裝入是,新的條款被增加到property_premium_fact 和cacuaty_premium_fact表裡。你就可以使用多表插入更加有效的增加行,這樣比使用兩個單獨的

插入(insert)語句個更加高效。例子如下:

view plain

insert first   www.2cto.com

when policy_type = 'p' then 

into property_premium_fact(policy_id 

,policy_nbr ,premium_amt) 

values (property_premium_seq.nextval 

,policy_number ,gross_premium) 

when p.policy_type = 'c' then 

into property_premium_fact(policy_id 

,policy_nbr ,premium_amt) 

values (property_premium_seq.nextval 

,policy_number ,gross_premium) 

select policy_nbr ,gross_premium ,policy_type 

from policies 

where policy_date >= 

trunc(sysdate,'mm') - to_yminterval('00-01'); 

通過使用多表插入,insert語句,代替兩個單獨的插入語句,這樣的**塊

通過乙個單獨訪問表通道代替兩個訪問通道因此資料裝載更加高效。

中煤集團 huzia的專欄

oracle 資料庫多表插入詳解

插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...

oracle 資料庫多表插入詳解

插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...

oracle 資料庫多表插入詳解

插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...