/
elizabeth120987
/
KP1
Обзор
Документация
Войти
/
elizabeth120987
/
KP1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
SQLQuery2.sql
232 строки
9 KB
unknown
fix: fix documentation
27 май 2026, 12:01
27 май 2026, 12:01
f2be030
Код
Авторство
О чём код?
CREATE TABLE LessonPlan ( Id int IDENTITY PRIMARY KEY, Title nvarchar(100) NOT NULL, TeacherId int NOT NULL REFERENCES Teacher(Id), RoleAssignmentId int NULL REFERENCES RoleAssignment(Id), [Status] nvarchar(10) NOT NULL CHECK (Status IN ('��������','�����')) ); -- ����� ����� (�������) CREATE TABLE LessonStage ( Id int IDENTITY PRIMARY KEY, LessonPlanId int NOT NULL REFERENCES LessonPlan(Id) ON DELETE CASCADE, StageNumber tinyint NOT NULL, Title nvarchar(100) NOT NULL, DurationMinutes tinyint NULL, TeacherActivity nvarchar(300) NULL, StudentActivity nvarchar(300) NULL, Methods nvarchar(300) NULL, ExpectedOutcome nvarchar(300) NULL, CONSTRAINT UQ_LessonStage_PlanNumber UNIQUE (LessonPlanId, StageNumber) ); CREATE TABLE LessonPlanItem ( Id int IDENTITY PRIMARY KEY, LessonPlanId int NOT NULL REFERENCES LessonPlan(Id) ON DELETE CASCADE, ItemType nvarchar(10) NOT NULL CHECK (ItemType IN ('�������', '����', '������')), SortOrder smallint NOT NULL, Content nvarchar(300) NOT NULL ); USE [CourtOverCharacter_088_07]; GO -- ============================================================ -- 1. ��������� 25 ������� � LessonPlan -- ============================================================ -- ������� �������, ���� ����� (���������, ������ ��������) -- TRUNCATE TABLE LessonPlanItem; -- TRUNCATE TABLE LessonStage; -- TRUNCATE TABLE LessonPlan; DECLARE @i INT = 1; DECLARE @TeacherId INT; DECLARE @RoleId INT; DECLARE @Status NVARCHAR(10); DECLARE @Title NVARCHAR(100); WHILE @i <= 25 BEGIN -- �������� ��������: �������� � ������� 1, ������ � ������� 2 SET @TeacherId = CASE WHEN @i % 2 = 1 THEN 1 ELSE 2 END; -- ��������� RoleAssignmentId �� 1 �� 117 (���������� ��������������� �����) SET @RoleId = 1 + (@i * 13) % 117; -- ���� ������ Id � ��������� -- ������: ������ 12 � ��������, ��������� � ����� SET @Status = CASE WHEN @i <= 12 THEN '��������' ELSE '�����' END; -- �������� ����� SET @Title = CASE @i % 10 WHEN 0 THEN '��� ��� �������������� (����)' WHEN 1 THEN '��������� ��������' WHEN 2 THEN '���� ��������' WHEN 3 THEN '��������� �� "�����"' WHEN 4 THEN '��������������� �� "̸����� �����"' WHEN 5 THEN '��� ��� ���������' WHEN 6 THEN '������� ��� ���������' WHEN 7 THEN '��� ��� ���������' WHEN 8 THEN '���� � ������������ �������������' WHEN 9 THEN '��������� �� "����� � ����"' END + N' (' + CAST(@i AS NVARCHAR) + N')'; INSERT INTO LessonPlan (Title, TeacherId, RoleAssignmentId, [Status]) VALUES (@Title, @TeacherId, @RoleId, @Status); SET @i = @i + 1; END; GO -- ============================================================ -- 2. ��������� ������ ��� ������� ����� (������� 3, �������� 6) -- ============================================================ -- ��� ������� LessonPlan ������� �����. ���������� ������ ��� ��������. DECLARE @PlanId INT; DECLARE @StageNum TINYINT; DECLARE @MaxStages TINYINT; DECLARE plan_cursor CURSOR FOR SELECT Id FROM LessonPlan ORDER BY Id; OPEN plan_cursor; FETCH NEXT FROM plan_cursor INTO @PlanId; WHILE @@FETCH_STATUS = 0 BEGIN -- ��������� ���������� ������ �� 3 �� 6 (��������������, �� ������ PlanId) SET @MaxStages = 3 + (@PlanId % 4); -- ��� 3,4,5,6 SET @StageNum = 1; WHILE @StageNum <= @MaxStages BEGIN INSERT INTO LessonStage ( LessonPlanId, StageNumber, Title, DurationMinutes, TeacherActivity, StudentActivity, Methods, ExpectedOutcome ) VALUES ( @PlanId, @StageNum, CASE @StageNum WHEN 1 THEN '��������������� ������' WHEN 2 THEN '������������ ������' WHEN 3 THEN '�������� ���������' WHEN 4 THEN '������ ������' WHEN 5 THEN '��������� ��������' WHEN 6 THEN '���������' ELSE '���� ' + CAST(@StageNum AS NVARCHAR) END, 5 + @StageNum * 2, -- ������������: 7, 9, 11... ����� CASE @StageNum WHEN 1 THEN '�����������, �������� ����������' WHEN 2 THEN '���������� ���������, ���� � ��������' WHEN 3 THEN '����������� ���� ����, �������' WHEN 4 THEN '����������� ���������' WHEN 5 THEN '������ � ������������ ��������' WHEN 6 THEN '���������� ������, ������ ������' ELSE '�������� �������' END, CASE @StageNum WHEN 1 THEN '�������, ��������� � �����' WHEN 2 THEN '�������� �� �������, ����������� ������' WHEN 3 THEN '��������� � �����, ������������ ��������������' WHEN 4 THEN '������������� �������' WHEN 5 THEN '��������, ��������� �������' WHEN 6 THEN '����������� ���� ������, ������ �������' ELSE '�������� ��������' END, CASE @StageNum WHEN 1 THEN '������' WHEN 2 THEN '�������� �����' WHEN 3 THEN '������� ����' WHEN 4 THEN '���������' WHEN 5 THEN '������������ �������� �������' WHEN 6 THEN '������ �����������' ELSE '������' END, CASE @StageNum WHEN 1 THEN '����������� ������' WHEN 2 THEN '�������������� ������' WHEN 3 THEN '���������� � ��������' WHEN 4 THEN '������������ ������� ������������' WHEN 5 THEN '���������� ������' WHEN 6 THEN '��������� �����������' ELSE '��������� ���������' END ); SET @StageNum = @StageNum + 1; END; FETCH NEXT FROM plan_cursor INTO @PlanId; END; CLOSE plan_cursor; DEALLOCATE plan_cursor; GO -- ============================================================ -- 3. ��������� ���������, ����� � ����� ��� ������� ����� -- ============================================================ DECLARE @PlanId2 INT; DECLARE @Order SMALLINT; DECLARE plan_cursor2 CURSOR FOR SELECT Id FROM LessonPlan ORDER BY Id; OPEN plan_cursor2; FETCH NEXT FROM plan_cursor2 INTO @PlanId2; WHILE @@FETCH_STATUS = 0 BEGIN SET @Order = 1; -- �������� (1 ��� 2) INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '�������', @Order, CASE @PlanId2 % 4 WHEN 0 THEN '�������� ���� �����. Ÿ ���� ���������� (�.�. �����������)' WHEN 1 THEN '���� ��������� ��� (�.�. ���������)' WHEN 2 THEN '�������� ���� �� ����� ���� ��������� (�.�. �����)' WHEN 3 THEN '���� ������� ���� ���� �������� (������� ���������)' END); SET @Order = @Order + 1; -- ���� ����� ��� �������� (����� ����) IF @PlanId2 % 3 = 0 BEGIN INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '�������', @Order, '������� �� ��������� � �����, �� ��� ��� ������������� (������� ��������)'); SET @Order = @Order + 1; END; -- ���� (3 �����) INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '����', @Order, '������������ ������ ������������� �������� ������������� ����� � �������� ����� ������'); SET @Order = @Order + 1; INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '����', @Order, '������� ������ ������������ � ������������� �������� �������'); SET @Order = @Order + 1; INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '����', @Order, '��������� �������� � ����� � ������ ����� ������ ������������ ����������'); SET @Order = @Order + 1; -- ������ (4-5 ����) INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '������', @Order, '��������� �������� ������� ������������'); SET @Order = @Order + 1; INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '������', @Order, '������������ ���� ���������� ����'); SET @Order = @Order + 1; INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '������', @Order, '�������� �������� ��������� � ����������� ���������'); SET @Order = @Order + 1; INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '������', @Order, '�������������� � ���������� �������'); SET @Order = @Order + 1; IF @PlanId2 % 2 = 1 -- �������������� ������ ��� �������� ������ BEGIN INSERT INTO LessonPlanItem (LessonPlanId, ItemType, SortOrder, Content) VALUES (@PlanId2, '������', @Order, '�������� ������� ��������� � ������'); SET @Order = @Order + 1; END; FETCH NEXT FROM plan_cursor2 INTO @PlanId2; END; CLOSE plan_cursor2; DEALLOCATE plan_cursor2; GO