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

含まれている SQL スクリプトの実行が失敗したときにパペットのビルドを失敗させる

    puppet は、呼び出されたプログラムのリターン コードに基づいて、スクリプトの成功を検出すると思います。デフォルトでは、セッション中に何が実行されたかに関係なく、sqlplus を閉じると 0 が返されます。

    [[email protected] ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:47:08 2014
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select asdjkhasd from sadbjaksd;
    select asdjkhasd from sadbjaksd
                          *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    
    
    SQL> quit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [[email protected] ~]$ echo $?
    0
      

    sqlplus をエラー状態で終了させたい場合は、everyone コマンドを使用できます。

    [[email protected] ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:48:17 2014
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> whenever sqlerror exit failure;
    SQL> select bogus from nowhere;
    select bogus from nowhere
                      *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    
    
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [[email protected] ~]$ echo $?
    1
      

    後者の場合はリターン コードが異なることに注意してください。コマンドが失敗したことを puppet に知らせるには、これで十分です。




    1. すべての列ともう1つの列を選択するときに式がありません

    2. コマンドラインを介してLinux上のMySQLデータベースを表示(リスト)

    3. MySQL集計関数の問題

    4. SQL Serverデータベース内のすべてのID列を一覧表示します:sys.identity_columns