跨循环的TSql随机值集

跨循环的TSql随机值集,tsql,random,Tsql,Random,我知道如何通过一次选择将行中的随机数插入表中。但是,如何才能使while循环迭代中的每个select的结果彼此不同呢 我使用的代码如下所示。我在一个集合中的每一行中得到的值是不同的,但是每次迭代的值集合都是相同的 WHILE some condition is true BEGIN DECLARE @GamesRandomlySorted TABLE ( RandomSortId INT, GameId INT ) INSER

我知道如何通过一次选择将行中的随机数插入表中。但是,如何才能使while循环迭代中的每个select的结果彼此不同呢

我使用的代码如下所示。我在一个集合中的每一行中得到的值是不同的,但是每次迭代的值集合都是相同的

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