0

PL/SQL コードの実行中に件名のエラーが発生し、コードのデバッグ中に、データベースで DBMS_JOB.SUBMIT の使用中にプロシージャで「COMMIT」を使用できないことがわかりました。

私の手順は少し複雑なので、参考としてサンプル コードを使用します。

DECLARE
  x integer(30):=0.0;
BEGIN
    SYS.DBMS_JOB.SUBMIT
    ( job       => X 
     ,what      => 'declare x integer:= 0.0; begin x:= x+1; end;'
     ,next_date => sysdate
     ,interval  => 'NULL'
     --,no_parse  => FALSE
    );
    insert into tem_job_insert values (x);
    update tem_job_insert set job_num = x+1;
    --SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' ||to_char(x));
   commit;
END;

エラー :

ORA-01426: 数値オーバーフロー

ORA-06512: 14行目

他のいくつかのデータベースで同じコード (サンプル コードと実際のコードの両方を意味します) を実行しようとしましたが、問題なく正常に動作します。問題はこれらの DB のみです。

詳細を追加するのを逃した場合は、お気軽にお問い合わせください。

4

0 に答える 0