INF_STOP_ON_ERRORオプションでは、INFILE文の実行中にエラーが発生した場合のOracle OLAPの動作を指定します。
例
例5-37 DBMS_EXECUTEでのINF_STOP_ON_ERRORの使用方法
myawという名前のアナリティック・ワークスペースをデタッチする次のOLAP DML文を含むattachmyaw.infというファイルがあるとします。
AW DETACH myaw
SQLアプリケーションにより、attachmyaw.infinfileファイルを読み取るためのINFILE文を含むDBMS_AW.EXECUTE文が発行される際、myawワークスペースがアタッチされていないとします。
INF_STOP_ON_ERRオプションがNOに設定されている場合は、「Analytic workspace MYAW is not attached」というエラーがレポートされても、Oracle OLAPではそのままファイルの読取りが続行され、DBMS_AW.EXECUTEプロシージャは完了するまで正常に実行されます。
DBMS_AW.EXECUTE('INF_STOP_ON_ERR = NO ');
DBMS_AW.EXECUTE('INFILE attachmyaw.inf');
The current directory is MYDIR.
ERROR: (ORA-34344) Analytic workspace MYAW is not attached.
ERROR: (ORA-34344) Analytic workspace MYAW is not attached.
PL/SQL procedure successfully completed.
INF_STOP_ON_ERRオプションがYESに設定されている場合は、「Analytic workspace MYAW is not attached」というエラーがレポートされると、Oracle OLAPではファイルの読取りが中止され、DBMS_AW.EXECUTEプロシージャは中断されます。
DBMS_AW.EXECUTE('INF_STOP_ON_ERR = YES ');
DBMS_AW.EXECUTE('INFILE attachmyaw.inf');
The current directory is MYSPL.
DECLARE
*
ERROR at line 1:
ORA-35166: (ORA-34344) Analytic workspace MYAW is not attached.
ORA-06512: at "SYS.DBMS_AW", line 27
ORA-06512: at "SYS.DBMS_AW", line 115
ORA-06512: at line 8