Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE tempdb;
- GO
- IF OBJECT_ID('DMLfill', 'P') IS NOT NULL
- DROP PROC DMLfill
- GO
- CREATE PROC DMLfill
- @StudentCount INT = 100,
- @GroupCount INT = 10,
- @ScoreCount INT = 100
- AS
- DELETE FROM Student;
- DELETE FROM GroupStudent;
- ;WITH CTE AS(
- SELECT 1 N
- UNION ALL
- SELECT N+1 FROM CTE WHERE N<@GroupCount
- )
- INSERT GroupStudent(Number)
- SELECT CONCAT('GROUP #', N)
- FROM CTE
- OPTION(MAXRECURSION 30000)
- ;WITH CTE AS(
- SELECT 1 N
- UNION ALL
- SELECT N+1 FROM CTE WHERE N<@StudentCount
- )
- INSERT Student(GroupId, FIO)
- SELECT GS.id, CONCAT('ФИО|', GS.id, '|', N)
- FROM CTE
- JOIN (
- SELECT ROW_NUMBER()OVER(ORDER BY id)GN, *
- FROM GroupStudent
- ) GS ON GS.GN = (N-1)%@GroupCount + 1
- OPTION(MAXRECURSION 30000)
Advertisement
Add Comment
Please, Sign In to add comment