У меня есть ситуация, когда у меня есть процедура Oracle, которая вызывается как минимум из 3 или 4 разных мест. Мне нужно иметь возможность вызывать пользовательский код в зависимости от некоторых данных. Пользовательский код зависит от клиента, поэтому клиент A может захотеть сделать A-B-C, где клиент B может сделать 6-7-8, а клиент C не должен делать ничего лишнего. Когда приходят клиенты D ... Z, я не хочу менять существующую процедуру.
Я бы хотел, чтобы в таблицу можно было ввести процедуру для конкретного клиента. В этой существующей процедуре проверьте эту таблицу базы данных, если существует процедура пользовательского кода, и если это так, выполните ее. Каждая из процедур кода клиента будет иметь одинаковые параметры.
Например:
- Мое приложение (3+ места) вызывает эту процедуру "удаления"
- В этой процедуре удаления найдите имя вызываемой дочерней процедуры (если она вообще существует)
- Если он существует, выполнить эту процедуру удаления (передав параметры)
Я знаю, что могу сделать это с помощью построения строки, содержащей вызов хранимой процедуры. Но я хотел бы знать, есть ли в Oracle 10g что-то встроенное для таких вещей?