我寫了一個存儲過程具有以下格式:如何將輸出參數傳遞給存儲過程?
ALTER PROCEDURE usp_data_migration
(@sourceDatabase varchar(50),
@sourceTable varchar(50),
@targetDatabase varchar(50),
@targetTable varchar(50),
@finaloutput varchar(max) output)
AS
BEGIN
----Set of SQL Blocks
END
然後,我執行過程:
DECLARE @finaloutput1 varchar(300)
EXEC usp_data_migration 'Yousuf', 'emp', '[City Branch]', 'emp_tgt', @finaloutput1 output
SELECT @finaloutput1
通過執行這種方式我不正確的輸出。
當我執行這種方式:
DECLARE @finaloutput1 varchar(300)
EXEC usp_data_migration @sourceDatabase = 'Yousuf',
@sourceTable = 'emp',
@targetDatabase = '[City Branch]',
@targetTable = 'emp_tgt',
@finaloutput1 output
SELECT @finaloutput1
我得到一個錯誤消息說:
消息119,15級,狀態1,第41行
必須通過參數號5和後續參數爲'@name = value'。在使用'@name = value'形式後,所有後續參數必須以'@name = value'的形式傳遞。
如果我刪除了我的輸出參數並執行過程,我得到了我想要的輸出,但是我無法將我的結果作爲輸出。
EXEC usp_data_migration @sourceDatabase = 'Yousuf',
@sourceTable = 'emp',
@targetDatabase = '[City Branch]',
@targetTable = 'emp_tgt'
我該怎麼辦?
在此先感謝。