Как заполнить столбец базы данных случайными числами - PullRequest
1 голос
/ 10 мая 2009

Как заполнить столбец int, в настоящее время пустой, случайными числами без дубликатов?

Ответы [ 2 ]

9 голосов
/ 10 мая 2009

Если это существующая таблица, в которую вы добавили новый столбец INT, вы можете сделать что-то вроде этого:

UPDATE MyTable
SET MyIntColumn = CONVERT(int, RAND(CHECKSUM(NEWID())) * 10000);

Это заполнит пустой столбец случайными числами от 1 до 10000.

1 голос
/ 10 мая 2009

Полагаю, вы могли бы сделать столбец первичным ключом для предотвращения дублирования, хотя это своего рода взлом Вы можете удалить ключ позже.

---- Create the variables for the random number generation
DECLARE @Random INT;
DECLARE @Upper INT;
DECLARE @Lower INT;
DECLARE @Index integer

---- This will create a random number between 1 and 999
SET @Lower = 1 ---- The lowest random number
SET @Upper = 999 ---- The highest random number
SET @Index = 0 --- A while loop counter

--- Loop from 0 to 10
WHILE @Index < 10
BEGIN
  SELECT 'loop counter = ', @index
  SELECT @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
  --Insert @Random here.
  SET @index = @index + 1
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...