我想傳遞一個表變量sp_executesql過程:傳遞一個表變量sp_executesql的
DECLARE @params NVARCHAR(MAX)
SET @params = '@workingData TABLE (col1 VARCHAR(20),
col2 VARCHAR(50))'
EXEC sp_executesql @sql, @params, @workingData
我得到的錯誤:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.
我試着忽略之後「列規範表'。我還試圖將該表聲明爲動態SQL內的變量。但沒有運氣......
似乎我認爲TABLE變量不允許作爲參數在這個過程中傳遞?順便說一句:我正在運行MSSQL2008 R2。
我不感興趣,在使用本地臨時表像#workingData因爲我從另一個程序加載的工作數據:
INSERT INTO @workingData
EXEC myProc @param1, @param2
,我不能做直接到一個臨時varaible(?右).. 。
任何幫助讚賞!
@workingdata變量的內容是什麼? – NotMe 2010-11-23 17:23:39
所有變量的內容是什麼?我不認爲這是在做你所期望的。 – Donnie 2010-11-23 17:38:17
我使用@workingData TABLE存儲來自另一個過程的結果,該過程返回幾個過程使用的一般結果集。這是爲了減少多餘的代碼:INSERT INTO @workingData EXEC someProc – Alex 2010-11-24 07:52:39