Проблемы с получением выходного параметра из sp_execute sql с входными параметрами - PullRequest
1 голос
/ 20 марта 2020

Я вставляю строку в удаленный сервер MS SQL и хочу получить идентификатор вставленной строки. Я использую sp_execute sql и передаю входные параметры. Строка вставляется, но параметр OUTPUT имеет значение null. Любая идея, почему выходной параметр в NULL:

DECLARE @QualificationId INT, @CourseId INT, @ModuleGrade INT,  @SQLString NVARCHAR(MAX), @ParmDefinition NVARCHAR(MAX); 


SET @ParmDefinition = N'@RemoteQualificationId INT, @RemoteCourseId INT,  @RemoteModuleGrade INT, @RemoteCourseAcademicDataId INT OUTPUT'; 

SET @SQLString = N'                         
INSERT INTO [ServerName].[DatabaseName].[dbo].[TableName]
(
    [RegYear],
    [SemesterId],
    [QualificationId],
    [CourseId],
    [AssessmentFinalGrade]
)
VALUES
(
    YEAR(GETDATE()),
    1,
    @RemoteQualificationId,
    @RemoteCourseId,
    @RemoteModuleGrade
)
SET @RemoteCourseAcademicDataId = SCOPE_IDENTITY()'


EXECUTE sys.sp_executesql
@SQLString,
@ParmDefinition,                                        
@RemoteQualificationId = @QualificationId,
@RemoteCourseId = @CourseId,
@RemoteModuleGrade = @ModuleGrade,
@RemoteCourseAcademicDataId = @CourseAcademicDataId OUTPUT;
...