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

エラーが発生したときにSQLPlusでスクリプトを終了し、SQLPlusを切断したり終了したりせずに、SQLPlusプロンプトに戻るにはどうすればよいですか?

    ここで興味深いアイデアを見つけました。これをspencer7593の回答と組み合わせると、PL/SQL出力値を渡すことができる選択的なサブスクリプト呼び出しが得られます。ウィットに:

    VAR continue number;
    EXEC :continue := 1;
    BEGIN
       SELECT some_bool_test() INTO :continue FROM dual;
    END;
    
    SET termout OFF
    COLUMN script_name NEW_VALUE v_script_name
    SELECT decode(:continue, 1, 'run_stuff.sql', 'skip.sql') script_name FROM dual;
    SET termout ON
    
    @&v_script_name :some_other_values
    

    skip.sqlの場所 空のテキストファイルです。

    更新: このほとんどをRUN.SQLに移動しました ファイル。ブール値(0または1)を&1として渡します。 、成功時に&2として呼び出すスクリプト名 、次に、呼び出されたスクリプトに渡すその他の予想されるパラメータ。したがって、最終的には次のようになります。

    VAR continue number;
    EXEC :continue := 1;
    BEGIN
       SELECT some_bool_test() INTO :continue FROM dual;
    END;
    
    @run.sql :continue 'run_stuff.sql' :some_other_values
    


    1. Oracleでは、ビューを介してレコードを挿入または更新することはできますか?

    2. PythonのSSHトンネリングを介したPostgreSQLデータベースへの接続

    3. MariaDBでのDATE()のしくみ

    4. ER_NOT_SUPPORTED_AUTH_MODE-MySQLサーバー