代码之家  ›  专栏  ›  技术社区  ›  Al Lelopath

用随机整数填充所有列

  •  0
  • Al Lelopath  · 技术社区  · 7 年前

    我试图用一些随机整数填充3列所有行。
    以下代码有错误

    “@上限附近语法不正确。应为(或选择

    我做错了什么?

    ---- Create the variables for the random number generation
    DECLARE @Random INT;
    DECLARE @Upper INT;
    DECLARE @Lower INT
    
    ---- Create a random number between 1 and 111
    SET @Lower = 1   -- The lowest random number
    SET @Upper = 111 -- The highest random number
    
    UPDATE [tblProject]
    SET 
           [ContractorID1] = @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) -- error
          ,[ContractorID2] = @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) -- error
          ,[ContractorID3] = @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) -- error
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   pmbAustin    7 年前

    取出update语句中的“@Random=”。它没有任何作用。您根本没有使用该变量,因此甚至不需要声明它。直接分配就行了。

    正如您所发现的,RAND()函数将为同一行返回相同的值。如果你需要一些不同的东西,还有其他的解决方案。