插入多表操作。
大部分插入操作是針對單錶操作的。但是oracle支援多表插入(insert)語句 。在資料倉儲方面的抽取、轉移和裝入(etl,extract transform and load)的例程方面方面你將頻繁的用到多表插入操作。
通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多個資料表裡面。通過減少整個資料的路徑,來減少減少工作量,因此去的更快的輸出。
如果乙個when條件為真(true),相關的into語句被執行。如果沒有條件為真,為真,那麼else條款被執行。關鍵字all告訴資料庫,檢查when後面的
每乙個條件.另一方面,關鍵字first告訴資料庫當檢查when條件的第乙個條件為真是,停止檢查後續條件。
下面的例子,是乙個保險公司有兩個保險條款,財產和意外傷害在條款表裡。再是在資料市場裡,他們把這兩個表分成單獨的事實表。在每月裝入是,新的條款被增加到property_premium_fact 和cacuaty_premium_fact表裡。你就可以使用多表插入更加有效的增加行,這樣比使用兩個單獨的
插入(insert)語句個更加高效。例子如下:
view plain
copy to clipboard
print?
insert
first
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語句,代替兩個單獨的插入語句,這樣的**塊
通過乙個單獨訪問表通道代替兩個訪問通道因此資料裝載更加高效。
oracle 資料庫多表插入詳解
插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...
oracle 資料庫多表插入詳解
插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...
oracle 資料庫多表插入詳解
插入多表操作。大部分插入操作是針對單錶操作的。但是oracle支援多表插入 insert 語句 在資料倉儲方面的抽取 轉移和裝入 etl,extract transform and load 的例程方面方面你將頻繁的用到多表插入操作。通過乙個多表插入,你能你可以通過乙個單一的資料來源,把資料裝載到多...