добавить 180 записей в таблицу - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался дать правильного «ученика» 180 человек за столом, есть ли способ сделать это легко, как с помощью цикла?Я представляю что-то вроде этого:

for (i=0; i<=180; i++) {
    INSERT INTO usertorights(UserID, Name, ID,isDeleted)VALUES(i,'Admin',NULL,0);
}

Надеюсь, кто-нибудь сможет мне помочь, спасибо

-Александр

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Для достижения аналогичного результата я использовал приведенный ниже запрос

INSERT INTO `usertorights`(`UserID`, `Name`, `ID`, `isDeleted`)
SELECT ((ones.n + (10*tens.n) + (100*hundreds.n))) RowNumber, 'Admin', NULL, 0
FROM        (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n)
WHERE CAST(((ones.n + ISNULL(10*tens.n, 0) + ISNULL(100*hundreds.n, 0))) AS DECIMAL(20, 0)) < 180
order by RowNumber;

Это быстрее и эффективнее

0 голосов
/ 03 февраля 2019

Это один из способов сделать это:

 DECLARE @nI INTEGER
 SET @nI = 0

 WHILE @nI <= 180 
 BEGIN
   INSERT INTO dbo.usertorights( UserID, Name, ID, isDeleted) 
   SELECT @nI, 'student', id_people, false FROM people_table)

   SET @nI = @nI + 1
 END
...