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