Sql 自动放置
我有课表:Sql 自动放置,sql,sql-server,Sql,Sql Server,我有课表: ID Lesson date time1 time2 Teacher ------------------------------------------------------- M001 Math 01-08-2017 17:00 19:00 M002 English 01-08-2017 13:00 15:00 M003 Design 01-08-2017 17:00 19:00 M
ID Lesson date time1 time2 Teacher
-------------------------------------------------------
M001 Math 01-08-2017 17:00 19:00
M002 English 01-08-2017 13:00 15:00
M003 Design 01-08-2017 17:00 19:00
M001 Math 02-08-2017 13:00 15:00
M002 English 02-08-2017 17:00 19:00
M003 Design 02-08-2017 17:00 19:00
我也有优先教师桌
ID Name Lesson Priority
-----------------------------------
001 John Math 1
002 Mike Math 2
003 Clara Math 3
004 Noah Design 1
005 Jack Design 2
006 Kath English 1
007 Steve English 2
优先权取决于谁将按照时间表授课,但如果时间表已经安排好了老师,第二位老师将被安排在时间表上,依此类推。
我仍然不知道如何使它工作请帮忙
谢谢…您想尝试使用存储过程插入吗 可能看起来像这样
CREATE STORED_PROCEDURE SP_INSERT_TEACHER
@TeachID int = 0,
@TeachName nvarchar(max),
@TeachLesson nvarchar(max),
@TeachPriority int
AS
BEGIN
SET NOCOUNT ON;
IF dbo.Teacher.Lesson = @TeachLesson AND dbo.Teacher.Priority = @TeachPriority
@TeachPriority + 1
INSERT INTO dbo.Teacher(ID, Name, Lesson, Priority)
values(@TeachID, @TeachName, @TeachLesson, @TeachPriority)
END
这基本上是检查现有记录,如果记录已经与课程匹配,则按优先级将插入的教师向后推1
只需确保始终通过SP插入,您的预期输出是什么?有7条教师记录具有不同的优先级,因此它可以一直运行到教师记录结束吗?像是放了一段时间什么的..谢谢