Как передать выходной параметр в хранимую процедуру?
Я написал хранимую процедуру в следующем формате:
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 = значение». После использования формы «@name = значение» все последующие параметры должны быть переданы в форме «@name = значение».
И если я удалил свой выходной параметр и выполнил процедуру, я получил желаемый результат, но не смог получить свой результат в качестве вывода.
EXEC usp_data_migration @sourceDatabase = 'Yousuf',
@sourceTable = 'emp',
@targetDatabase = '[City Branch]',
@targetTable = 'emp_tgt'
Что я должен делать?
Заранее спасибо.