Я запускаю следующий запрос:
create function passs (@studentid nvarchar(50),@courseid nvarchar(50))
returns char
as
begin
declare @k char
if((select Grades.grade from Grades where Grades.Courses_id=@courseid AND
Students_id=@studentid) >60)
set @k='pass'
else
set @k='no pass'
return @k
end
, когда я запускаю это:
select Grades.Courses_id,dbo.pass(Grades.Students_id,Grades.Courses_id)
,Grades.Students_id,Grades.grade from Grades
я получил это
Msg 512,Уровень 16, состояние 1, строка 1 Подзапрос вернул более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.