RUNプロシージャは、1つ以上のOLAP DMLコマンドを実行し、出力をプリンタ・バッファへ送信します。通常は、対話型のSQLセッションでアナリティック・ワークスペースのデータを操作する際に使用します。EXECUTEプロシージャとは対照的に、RUNはエラーが発生した場合にはコマンドの処理を停止します。
SQL*Plusを使用している場合、次のコマンドを発行することにより、プリンタ・バッファを画面に表示できます。
SET SERVEROUT ON
他のプログラムを使用している場合、同様の設定についてはマニュアルを参照してください。
OLAP DML OUTFILEコマンドを使用して出力をリダイレクトした場合、このプロシージャではDMLコマンドの出力は印刷されません。
|
注意: OLAPワークシート内からはこのプロシージャを実行できません。SQL*PlusなどのSQLツール内で実行してください。 |
構文
RUN (
olap_commands IN STRING,
silent IN BOOLEAN DEFAULT FALSE);
RUN (
olap_commands IN CLOB,
silent IN BOOLEAN DEFAULT FALSE);
RUN (
olap_commands IN STRING,
output OUT STRING);
RUN (
olap_commands IN STRING,
output IN OUT CLOB);
RUN (
olap_commands IN CLOB,
output OUT STRING);
RUN (
olap_commands IN CLOB,
output IN OUT CLOB);
パラメータ
表B-28 EXECUTEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
セミコロンで区切られた1つ以上のOLAP DMLコマンド。「OLAP DMLコマンドで引用符を使用する場合のガイドライン」を参照。 |
|
|
OLAP DMLコマンドからの出力を抑止する必要があるかどうかを通知するブール値。(OLAPエンジンからのエラー・メッセージは、この設定に関係なく、抑止されない。) |
|
|
OLAPコマンドに対するOLAPエンジンからの出力。 |
例
次のSQL*Plusセッションのサンプルでは、XADEMOというアナリティック・ワークスペースをアタッチし、XADEMOにCOST_PPという計算式を作成して、新しい計算式の定義を表示しています。
EXECUTE dbms_aw.run('DESCRIBE time');
DEFINE TIME DIMENSION TEXT
次の例では、エラー発生後にRUNがコマンドの実行を停止する方法を示しています。
EXECUTE dbms_aw.run('SHOW DECIMALS'); 0 EXECUTE dbms_aw.run('CALL nothing; DECIMALS=4'); BEGIN dbms_aw.run('CALL nothing; DECIMALS=4'); END; * ERROR at line 1: ORA-34492: Analytic workspace object NOTHING does not exist. ORA-06512: at "SYS.DBMS_AW", line 58 ORA-06512: at "SYS.DBMS_AW", line 134 ORA-06512: at line 1 EXECUTE dbms_aw.run('SHOW DECIMALS'); 0