ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

UPDATE

UPDATEコマンドは、アナリティック・ワークスペースの変更内容を、一時領域からワークスペースが格納されているデータベース表に移動するコマンドです。通常、UPDATE文は、アナリティック・ワークスペースでの変更作業が終了してから使用しますが、進捗に応じて定期的に指定することもできます。

変更内容は、Oracle OLAPまたはSQLのどちらかでCOMMIT文を実行するまで保存されません。UPDATEおよびCOMMITコマンドを使用しなかった場合、セッション中に行ったアナリティック・ワークスペースの変更内容は、Oracleセッションの終了時に廃棄されます。


注意:

変更がコミットされていない場合でも、その変更を維持したままでアナリティック・ワークスペースをデタッチおよび再アタッチできます。これは、デタッチおよび再アタッチが単一のデータベース・セッション内で行われるためです。

構文

UPDATE [MULTI [aquired_objects]] [analytic_workspaces]

引数

パラメータを指定しなかった場合、このコマンドによって更新されるのは、読取り/書込み非排他モードおよび読取り/書込み排他モードでアタッチされているすべてのアナリティック・ワークスペース、マルチライタ・モードでアタッチされているすべてのアナリティック・ワークスペースに存在するすべての取得したオブジェクト(つまり、取得したすべての変数、リレーション、値セットおよびディメンション)です。

acquired_objects

マルチライタ・モードでアタッチされているアナリティック・ワークスペースに存在する、取得済オブジェクトの名前をカンマで区切ったリスト。これらのオブジェクトは、ACQUIRE文を使用して取得した変数、リレーション、値セット、ディメンションなどです。


重要:

取得して保持したディメンションによってオブジェクトをディメンション化した場合は、このディメンションを最初に更新しないかぎり、オブジェクトを更新することはできません。

workspaces

読取り/書込みモードまたはマルチライタ・モードでアタッチした1つ以上のワークスペースの、カンマで区切られた名前のリスト。

注意

自動によるCOMMIT

ユーザーの多くは、SQL*PlusまたはOLAP Worksheetを使用してDML文を実行します。これらのツールはどちらも、セッションの終了時に自動でCOMMIT文を実行します。

UPDATE実行時におけるプログラム実行のトリガー

TRIGGERコマンドを使用すると、UPDATE文を、OLAP DMLプログラムを自動的に実行するイベントにすることができます。詳細は、「トリガー・プログラム」を参照してください。

共有ワークスペース

共有ワークスペースをアタッチし、別のユーザーが読取り/書込みアクセス権を保持している場合、別のユーザーのUPDATEおよびCOMMITコマンドは、使用中のワークスペース・ビューには影響しません。データのビューは、ワークスペースをアタッチした時点と同じままです。別のユーザーが行った変更にアクセスするには、ワークスペースをいったんデタッチしてから再アタッチします。

ROLLBACK文の影響

OLAP DMLには、SQL ROLLBACK文を発行するための手段が用意されていません。ただし、セッション中にOracle OLAPの外部から(たとえば、PL/SQLを介して)このコマンドを実行できます。セッション中にROLLBACK文を実行すると、Oracle OLAPは、アタッチされたワークスペースに未コミット状態の更新内容があるかどうかを確認します。

セーブポイントにロールバックし、このセーブポイント以降に発生した未コミット状態の更新内容がある場合、Oracle OLAPはこれらの更新内容を廃棄して、ワークスペースをデタッチします。セーブポイント以前に発生した未コミット状態の更新内容はワークスペース内に保持されているため、同じセッションでワークスペースを再アタッチすると、これらの更新内容を参照できます。

例10-167 アナリティック・ワークスペースの変更内容の保存

次の文では、現行のワークスペース・セッションの変更内容を、ワークスペースが格納されているデータベース表に移動します。

UPDATE

変更内容をデータベースに保存するには、UPDATE文の後にCOMMIT文を発行する必要があります。