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