Member 14060392 Ответов: 2

Как создать повторяющиеся события в SQL?


Чтобы объяснить это лучше, давайте предположим, что существует набор дежурных сотрудников, и эти сотрудники будут ротироваться через X дней или X недель. Теперь вместо создания повторяющихся записей в календаре можно создавать "повторяющиеся события", подобные outlook. Если это возможно, то как этого можно достичь

Что я уже пробовал:

Я не знаю, как это можно сделать.

CHill60

Событие "повторение" по - прежнему представляет собой набор "повторяющихся записей" в Outlook-ими можно управлять как набором, так и отдельными элементами. Но здесь нет и близко достаточной информации, чтобы мы могли хотя бы начать помогать вам

2 Ответов

Рейтинг:
2

MadMyche

Я сделаю для вас очень простое доказательство концепции, так как вы дали нам ноль для работы.
Это должно дать вам место для начала... вы можете реплицировать SP по мере необходимости для выполнения различных интервальных вставок, просто измените свое имя и тип интервала по мере необходимости.

Во-первых, я делаю очень простую таблицу для хранения ваших данных. Для этого нужно нечто большее... но я понятия не имею, что вам нужно

CREATE TABLE EmployeeSchedule (
	ScheduleID INT IDENTITY(1,1) NOT NULL,
	EmployeeID INT,
	ScheduleDate DATE
)
GO

А затем простая хранимая процедура для вставки ряда дат
CREATE PROCEDURE dbo.EmployeeSchedule_Insert_WeeklyReoccurence (
	@EmployeeID INT,
	@StartDate DATE,
	@EndDate DATE,
	@WeekInterval INT
) AS
BEGIN
	DECLARE @ScheduleDate DATE = @StartDate

	WHILE (@ScheduleDate <= @EndDate) BEGIN

		INSERT EmployeeSchedule (EmployeeID, ScheduleDate)
		VALUES (@EmployeeID, @ScheduleDate)

		SET @ScheduleDate = DATEADD(wk, @WeekInterval, @ScheduleDate)
	END
END
GO


Рейтинг:
0

#realJSOP

Создайте хранимый процесс, реализующий бизнес-правила.

Кроме того, вы не указали ничего похожего на то, что вы хотите.