Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 自动放置_Sql_Sql Server - Fatal编程技术网

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条教师记录具有不同的优先级,因此它可以一直运行到教师记录结束吗?像是放了一段时间什么的..谢谢