Как передать выходной параметр в хранимую процедуру?

Я написал хранимую процедуру в следующем формате:

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'

Что я должен делать?

Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос