我将看一下临时表#StudentGrades。它很可能包含构成唯一主键的数据重复项。不存在的地方并不能防止这种情况,因为SQL是基于设置的。
您很可能需要更改PK的定义,更改#StudentGrades表的内容或更改select语句以提供唯一的行。
例如,可以使用GROUP BY或ROW_NUMBER()OVER(PARTITION BY列ORDER BY列)

我将看一下临时表#StudentGrades。它很可能包含构成唯一主键的数据重复项。不存在的地方并不能防止这种情况,因为SQL是基于设置的。
您很可能需要更改PK的定义,更改#StudentGrades表的内容或更改select语句以提供唯一的行。
例如,可以使用GROUP BY或ROW_NUMBER()OVER(PARTITION BY列ORDER BY列)