Как вызвать процедуру PL / SQL, имя которой хранится в таблице? - PullRequest
2 голосов
/ 13 мая 2011

У меня есть таблица в БД Oracle, в которой есть поле, в котором хранятся имена процедур. Моя цель - создать процедуру меню с параметром числа. Поэтому, когда я вызываю его, я хочу, чтобы оно получило имя процедуры по ее идентификатору (номер, который был передан) из этой таблицы и вызвало процедуру. Надеюсь, я достаточно ясно ...

p.s Я создаю страницу PL / SQL Server, если это имеет значение ...

1 Ответ

4 голосов
/ 13 мая 2011

Решение является Dynamic PL / SQL:

procedure runproc (p_procname varchar2) is
begin
    execute immediate 'begin ' || p_procname || '; end;';
end;

Используйте переменные связывания для параметров. Поскольку каждая процедура, вероятно, принимает различное количество параметров, вам может потребоваться использовать пакет DBMS_SQL .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...