我在使用mssql存儲過程(SP)時遇到問題。我擁有的是一張表,其中一列包含SP名稱,我必須做的是獲得該SP名稱並在SP內執行該SP。Mssql:執行存儲過程,其名稱從另一個sp獲得
所以我做了什麼:
- 我有一個SP - 確定
- 聲明一個變量與SP,將得到的SP名稱OG在表中的SP的名字 - 確定
。
DECLARE @rs varchar(max)
DECLARE @sql varchar(max) = N'usp_GetSP)'
EXECUTE sp_executesql @sql, @rs output
EXECUTE @rs
在這裏,我知道我得到的SP的名字時,我做EXECUTE sp_executesql的@sql,但@rs,我不知道。我得到這個錯誤:
Msg 214, Level 16, State 2, Procedure sp_executesql, Line 1 Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'. Msg 2812, Level 16, State 62, Line 4 Could not find stored procedure ''.
- 執行的是SP,我回來 - 現在的問題是
這是一個有三個SELECT
報表和UNION
他們SP和這個SP是第三第二個UNION
(最後SELECT
聲明),我需要去工作。
有誰知道我該怎麼做?
謝謝您的回答。 '''不應該在那裏,它不在我的代碼中... – TeisLindemark 2013-02-27 07:39:53