Advertisement
ProgNeo

Untitled

Dec 8th, 2023
1,390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.26 KB | None | 0 0
  1. DECLARE @groupCount bigint = 1;
  2. DECLARE @currentGroupId int;
  3.  
  4. WHILE @groupCount <= (
  5.     SELECT COUNT(*) FROM dbo.Группы
  6. );
  7.  
  8. BEGIN
  9.     DECLARE @groupId int;
  10.     DECLARE @subjectId int;
  11.  
  12.     SET @currentGroupId = (
  13.         SELECT Номер
  14.         FROM dbo.Группы
  15.         WHERE Номер = @groupCount
  16.     );
  17.  
  18.     DECLARE @subjectCursor CURSOR FOR
  19.         SELECT ID, ROW_NUMBER() OVER (ORDER BY ID) AS subjectRowNumber
  20.         FROM dbo.Предметы;
  21.  
  22.     OPEN @subjectCursor;
  23.     FETCH NEXT FROM @subjectCursor INTO @subjectId, @subjectRowNumber;
  24.  
  25.     WHILE @subjectRowNumber <= (
  26.         SELECT MAX(ROW_NUMBER()) OVER (ORDER BY ID) AS maxRowNumber
  27.         FROM dbo.Предметы
  28.     );
  29.  
  30.         BEGIN
  31.             INSERT INTO dbo.Изучение (
  32.                 Группа_Номер,
  33.                 ID_Предмета,
  34.                 Часы,
  35.                 Вид_аттестации
  36.             )
  37.             VALUES (
  38.                 @currentGroupId,
  39.                 @subjectId,
  40.                 10,
  41.                 'Экзамен'
  42.             );
  43.  
  44.             FETCH NEXT FROM @subjectCursor INTO @subjectId, @subjectRowNumber;
  45.         END;
  46.  
  47.     CLOSE @subjectCursor;
  48.  
  49.     SET @groupCount = @groupCount + 1;
  50. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement