Я хочу иметь возможность передать имя хранимой процедуры в виде строки в другую хранимую процедуру и вызвать ее с динамическими параметрами. Однако я получаю сообщение об ошибке.Динамически вызывать хранимую процедуру из другой хранимой процедуры
В частности, я попытался:
create procedure test @var1 varchar(255), @var2 varchar(255) as
select 1
create procedure call_it @proc_name varchar(255)
as
declare @sp_str varchar(255)
set @sp_str = @proc_name + ' ''a'',''b'''
print @sp_str
exec @sp_str
exec call_it 'test'
Так процедура call_it должен вызвать тест процедуру с аргументами 'а' и 'B'.
Когда я запускаю приведенный выше код я получаю:
Msg 2812, Level 16, State 62, Procedure call_it, Line 6
Could not find stored procedure 'test 'a','b''.
Однако выполнение теста 'A', 'B' работает отлично.