UPC/4sem/db/lab10.sql
2021-05-11 22:08:11 +07:00

39 lines
No EOL
1.9 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BEGIN TRANSACTION
DECLARE @firstSpecialityID INT = (SELECT TOP 1 ID
FROM [Специальность]
ORDER BY ID);
-- Создайте группу студентов, обучающихся по специальности, на которую студентов
-- не набирали.
INSERT INTO [Группа]([Название], [КодСпециальности], [ЗачётнаяКнижкаСтаросты], [ТабельныйНомерКуратора])
VALUES (N'КИ20-09Б', @firstSpecialityID + 1, NULL, 1);
-- Одну из групп, которых две по одной специальности (см. требования Лаб. раб. №9),
-- перевести в созданную группу (на другую специальность).
-- КИ20-07Б -> КИ20-09Б
DECLARE @firstGroupID INT = (SELECT TOP 1 ID
FROM [Группа]
ORDER BY ID);
DECLARE @newGroupID INT = (SELECT ID
FROM [Группа]
WHERE [Название] = N'КИ20-09Б');
UPDATE [Студент]
SET Группа = @newGroupID
FROM [Студент]
WHERE Группа = @firstGroupID;
-- Назначьте старосту и куратора тех же людей, которые были в теперь уже пустой
-- группе.
UPDATE [Группа]
SET ЗачётнаяКнижкаСтаросты = (SELECT [ЗачётнаяКнижкаСтаросты] FROM [Группа] WHERE ID = @firstGroupID),
ТабельныйНомерКуратора = (SELECT [ТабельныйНомерКуратора] FROM [Группа] WHERE ID = @firstGroupID)
FROM [Группа]
WHERE ID = @newGroupID;
-- Удалите пустую группу из таблицы.
DELETE
FROM Группа
WHERE ID = @firstGroupID;
COMMIT TRANSACTION