我希望能夠將存儲過程的名稱作爲字符串傳遞到另一個存儲過程,並使用動態參數調用它。雖然我收到了一個錯誤。從另一個存儲過程動態調用存儲過程
具體來說,我已經試過:
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' 正常工作。