消息 8114,级别 16,状态 5,第 63 行 从数据类型 varchar 转换为 numeric 时出错。

USE StuInfo
GO
create procedure p_scorename
@StudentNumber char(8),
@StudentName char(10) OUTPUT,
@CourseName char(10) OUTPUT,
@StudentScore numeric(5, 1)OUTPUT
AS
BEGIN
SELECT @StudentName = S_Name,
@CourseName = C_Name,
@StudentScore = Score
From T_Student,T_Course,T_Score
WHERE @StudentNumber =T_Student.S_number
END
GO
declare @StudentNumber char(8),
@StudentName char(10) ,
@CourseName char(10) ,
@StudentScore numeric(5, 1)
SET @StudentNumber='050201 '
exec p_scorename @StudentNumber,@StudentName OUTPUT,@CourseName OUTPUT,@StudentScore OUTPUT
PRINT '学号为'+@StudentNumber+'的学生的'+@CourseName+'课程成绩为:'+@StudentScore

类型不匹配,你某个字段是字符串,但是你当作数字了。
是不是StudentScore的定义的问题,或者@StudentNumber

看看Score列是属于那张表的,数据类型是什么,如果不是数字类型的最好改为数字类型。还有就是存储过程里的三张表未建立关联。