複数のCRUD操作を含むストアドプロシージャを、関数が定義されたパッケージに変換する作業が行われました。私は、Oracle SQL Developerでパッケージを作成しパッケージで定義された順番に関数を実行する
は、私は5月の関数を定義した:
FUNCTION func1 RETURN NUMBER;
FUNCTION func2 RETURN NUMBER;
etc...
私は 'パッケージ本体' で対応するコードを持っている:
FUNCTION func1 RETURN NUMBER
IS
BEGIN
-- some CRUD operation
END;
RETURN 0;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('FUNCTION func1: error ' || ERR_NUM || ', Msg:' || ERR_MSG);
ROLLBACK;
END func1;
私はそれらを実行し、I指定されたリストから実行する関数を選択できます。私の質問は、すべての機能を1つのコマンドで順番に実行させるには、何を書くか、または実行する必要がありますか?
おかげ
おそらく、別のメソッド(関数またはプロシージャを必要に応じて)をパッケージに追加して順番に呼び出すように思えるかもしれません。私が知っていることはあなたのために何をするのか分からない。 –
ところで、あなたのコミットは戻りません。 –
より一般的な方法が必要な場合は、オブジェクト型の配列を受け入れるプロシージャを記述する必要があります。プロシージャがそれぞれのメソッドを実行する配列をステップ実行できるように、 'run()'メソッドのようなものです。 –