Мне поручено преобразовать хранимую процедуру с несколькими операциями CRUD в пакет с определенными функциями.Выполнение функций, определенных в пакете
Когда я создал пакет в Oracle SQL Developer, я определил МАЕ функции:
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;
Когда я запускаю их, я может выбрать, какую функцию запускать из предоставленного списка. Мой вопрос в том, что мне нужно написать или сделать, чтобы все функции выполнялись последовательно с одной командой?
благодаря
Похоже, вы могли бы просто добавить в свой пакет другой метод (функцию или процедуру), который вызывает их по порядку. Я ничего не знаю о том, что сделало бы это для вас. –
BTW, ваша фиксация не имеет никакого эффекта, так как она появляется после оператора возврата. –
Если вы хотите использовать более общий способ, вам нужно написать процедуру, которая приняла массив некоторого типа объекта, где тип имел некоторые вид метода «run()», чтобы процедура могла проходить через массив, выполняющий каждый метод. –