對於MSSQL 2014,我需要幫助將500萬個隨機行添加到表中,其中varchar(25)pk列,第二個BIGINT &第三個nvarchar(256)。我如何編寫腳本?向表中添加唯一的隨機500萬行
[所以,我想到了首先將值填充到主鍵列和BIGINT列中。我每次運行該腳本,我得到的算術溢出錯誤數據類型轉換期間]
Create table Alok(Col1 varchar(25) NOT NULL PRIMARY KEY, Col2 BIGINT NOT NULL, Col3 nvarchar(256))
--At first, just trying to insert values for PKColumn and BIGINT Column as couldn't script for all three columns at once.
DECLARE @RowCount INT
DECLARE @RowString VARCHAR(25)
DECLARE @Random INT
DECLARE @Upper INT
DECLARE @Lower INT
DECLARE @InsertCol2 BIGINT
--To configure the items that are set once per run.
SET @Lower = 0
SET @Upper = 9223372036854775807
SET @RowCount = 0
--Setting up the RowCount
WHILE @RowCount < 5000000
BEGIN
SET @RowString = CAST(@RowCount AS VARCHAR(25))
SELECT @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
SET @InsertCol2 = ROUND(((@Lower + 9000000000) * RAND()), 15)
INSERT INTO Alok
(Col1
,Col2)
VALUES
(REPLICATE('0', 25 - DATALENGTH(@RowString)) + @RowString
, @InsertCol2)
SET @RowCount = @RowCount + 1
END
請包括腳本 –
即使你得到這個工作,它需要幾天才能完成。 – ATC
是的!這一直保持執行2個多小時,然後我停止了它,並試圖通過將RowCount限制爲100來檢查它是否能夠正常工作。然後,我收到了數據類型轉換的錯誤。 – Alok