使用随机int填充所有列

时间:2018-01-29 18:51:31

标签: sql sql-server

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

  

" @Upper附近的语法不正确。期待(或选择

我做错了什么?

---- 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 个答案:

答案 0 :(得分:1)

在更新语句中取出“@Random =”。它没有任何用途。您根本没有使用该变量,因此您甚至无需声明它。只做直接任务。

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