ここで興味深いアイデアを見つけました。これを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