跨循环的TSql随机值集
我知道如何通过一次选择将行中的随机数插入表中。但是,如何才能使while循环迭代中的每个select的结果彼此不同呢 我使用的代码如下所示。我在一个集合中的每一行中得到的值是不同的,但是每次迭代的值集合都是相同的跨循环的TSql随机值集,tsql,random,Tsql,Random,我知道如何通过一次选择将行中的随机数插入表中。但是,如何才能使while循环迭代中的每个select的结果彼此不同呢 我使用的代码如下所示。我在一个集合中的每一行中得到的值是不同的,但是每次迭代的值集合都是相同的 WHILE some condition is true BEGIN DECLARE @GamesRandomlySorted TABLE ( RandomSortId INT, GameId INT ) INSER
WHILE some condition is true
BEGIN
DECLARE @GamesRandomlySorted TABLE
(
RandomSortId INT,
GameId INT
)
INSERT INTO @GamesRandomlySorted (RandomSortId, GameId)
SELECT Checksum(NewId()), GameId
FROM Games
SELECT *
FROM @GamesRandomlySorted
ORDER BY RandomSortId
END
你为什么不改用它呢?根据微软的说法,如果不指定seed作为参数,每次运行脚本时都会得到不同的值
另请参见-它显示了如何组合NewId和Rand