CREATE MATERIALIZED VIEW LOG介紹

語法說明

  • 建立實體化檢視日誌,須進行實體化檢視高速復新就必須建立實體化檢視日誌
  • 實體化檢視日誌物件稱為MLOG$_table_name的表格,來源表格資料更新時,變更資訊會存放此表格,高速復新時,以變更資訊為來源,實體化檢視只會反映出變更差異
格式
CREATE MATERIALIZED VIEW LOG ON [schema.]table_name
[WITH with_clause] [{INCLUDING | EXCLUDING} NEW VALUES];
 schema : 結構名稱
 table_name : 物件名稱
 with_clause : 指定要描述的資訊
with_clause子句說明

  • WITH子句可在實體化檢視日誌指定要描述資訊,可指定項目包括物件ID,主鍵,ROWID,
序列,表格欄位等,省略WITH子句,預設描述主鍵
 with_clause格式
{OBJECT ID | PRIMARY KEY | ROWID | SEQUENCE | (column [,column...])
  [,OBJECT ID | PRIMARY KEY | ROWID | SEQUENCE | (column [,column...]) ... ] } 
 column : 對於更新全列指定要記錄在實體化檢視日誌的欄位
 OBJECT ID : 記錄對於更新全列的物件識別符,建立物件表格日誌時可以指定
 PRIMARY KEY : 記錄更新全列主鍵
 ROWID : 記錄更新全列ROWID
 SEQUENCE : 紀錄表示附加序列資訊的序列值,進行高速復新時,必須要在實體化檢視日誌裡記錄此值 
 NEW VALUES子句說明

  • NEW VALUES子句可指定更新前後的資訊處理方法
  • NEW VALUES子句指定值
  1. INCLUDING : 記錄更新前後資訊,此為預設值
  2. EXCLUDING : 只記錄更新前的資訊
 語法示範
說明 : 建立實體化檢視日誌
create materialized view log on emp;
說明 : 建立實體化檢視日誌,加入描述 
create materialized view log on emp
  with sequence,rowid(ename,salary)
  including new values;