Вы можете использовать ограничение CHECK
, чтобы узнать количество учеников.
выполните следующие шаги
т.е. создайте таблицу.
CREATE TABLE IF NOT EXISTS student_courses
( Course_id int ,
student_id int ,
.
.
.
PRIMARY KEY (Course_id,student_id)
);
Создать функцию чтобы вернуть счетчик student_id
Create FUNCTION studentCount(studentId int)
Returns int
AS
BEGIN
Declare Count int
Select Count=Count(*) from student_courses Where student_id=studentId
Return Count
END
/
, теперь добавьте CHECK
ограничения к таблице
Alter Table student_courses add Constraint CK_student_course Check(studentCount(student_id)<=10)
и каждый раз, когда вы вставляете данные для идентификатора студента и идентификатора курса в таблицу проверит, доступны ли 10 или менее записей для этого учащегося, и ограничит вставку 11-й записи в таблицу.