sql >> データベース >  >> RDS >> Oracle

Oracleスクリプトからそれを呼び出したWINDOWSバッチスクリプトにリターンコードを返すにはどうすればよいですか?

    エラーが発生する前に、エラー条件の処理を宣言する必要があります。

    Whenever sqlerror exit sql.sqlcode; 
    DROP user MYUSER cascade;
    EXIT 0;
    

    スクリプトのさまざまな時点で処理を変更できます。たとえば、ドロップのエラーを無視して、作成前に保護ドロップを実行できますが、次のステップが失敗した場合は停止します:

    whenever sqlerror continue
    drop ...
    whenever sqlerror exit failure
    create...
    alter...
    etc
    

    ちなみに、Unixランドでは、ほとんどの(すべて?)シェルのリターンコードが制限されており、数値が大きくなるため、このアプローチは制限されます。したがって、ORA-0918は126として報告され、解釈できなくなります。さらに重要なことに、一部の値はゼロにラップされ、エラーが発生していないように見えます。幸い、%errorlevel%でその問題は発生していません。




    1. HTTPリクエストでJmeterJDBCリクエストからのレスポンスを使用する方法

    2. MariaDB LTRIM()とLTRIM_ORACLE():違いは何ですか?

    3. PDOを使用してMySQLの入力をサニタイズする正しい方法

    4. SQLServerでデータファイルとログファイルの場所を見つける方法