У меня есть требование не только динамически вызывать хранимую процедуру, но и динамически передавать параметры этой хранимой процедуре.
Аргументы исходят из таблицы ALL_ARGUMENTS
, которая является таблицей словаря данных Oracle. Эти аргументы будут варьироваться в зависимости от rpt_wrapper_name
.
Например, sp1 будет выглядеть следующим образом:
sp1 (v1, v2, v3)
Хранимая процедура sp2
будет выглядеть следующим образом:
sp2 (v1, v2, v3, v4, v5)
Хранимая процедура sp3
будет выглядеть следующим образом:
sp3 (v1, v2, v3, v4, v5, v6, v7,...)
В настоящее время я пытаюсь выполнить динамический вызов c SQL, но это не работает для меня
EXECUTE IMEDIATE 'BEGIN ' || p_Rpt_wrapper_name|| '(' || p_ParamList || ') ; END;'
Using p_ParamListUsing;
where
p_ParamList := :v1,:v2,:v3
p_ParamListUsing:= v1,v2,v3
Ошибка:
Не все переменные как связаны ORA-01008
Список параметров будет варьироваться в зависимости от rpt_wrapper_name
Как мы можем этого добиться? Пожалуйста, помогите