Member 12770648 Ответов: 1

Нужно заново заполнить таблицу, в которой я работаю со случайными числами


Уважаемые Эксперты,


Мне нужно заново заполнить таблицу, в которой я работаю со случайными числами

DECLARE @RRANDOM BIGINT;
DECLARE @UPPER BIGINT;
DECLARE @LOWER BIGINT;

----This will create a random number

SET @LOWER = 1 
SET @UPPER = 9999999999999
SELECT @RRANDOM = ROUND(((@UPPER-@LOWER-1)*RAND()+@LOWER),0)

SET @RANDOM =	@RRANDOM



Структура таблицы выглядит следующим образом

Idno Ticket_Number(Random Nos) 
-----------------------------------
001 
002
003


Пожалуйста помогите с циклом и обновлением

Что я уже пробовал:

Незавершенная работа пересмотрела некоторые из моих кодов но безрезультатно

Patrice T

"пересмотрел некоторые из моих кодов, но безрезультатно"
покажите, что вы сделали, и объясните проблему.

OriginalGriff

А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

CHill60

Не используйте петлю.

David_Wimbley

Ответы, подобные этим, так же полезны, как и вопросы типа "я получаю ошибку".

Что бы вы использовали, если бы не петля? Было бы более полезно для OP, а не просто сказать, чтобы не использовать цикл.

CHill60

Я согласен. Но ОП приложила мало усилий и не ответила на предыдущие запросы о предоставлении дополнительной информации.
Существует много конструкций, которые можно и нужно использовать в предпочтении к циклам в языках на основе множеств...слишком много, чтобы перечислить.
Я бы разместил ссылку на статью CP на эту тему, но это была бы просто реклама

1 Ответов

Рейтинг:
1

Maciej Los

Я бы посоветовал вам прочитать это: sqlauthority.com: SQL SERVER – скрипт генератора случайных чисел – SQL-запрос[^]...
а это: sql server - как сгенерировать случайное число для каждой строки в TSQL Select? - переполнение стека[^] которые относятся к: Меньше, чем точка - блог - SQL Server – набор случайных чисел на основе набора точек[^]

Я считаю, что приведенный ниже запрос решит вашу проблему:

SELECT Idno, CONVERT(BIGINT, @LOWER+(@UPPER-@LOWER)*RAND()) As TicketNumber
FROM YourTable