如何将 100 行插入到只有标识列的单个表中?

Sha*_*ena 3 c# sql sql-server sql-server-2008

如何使用单个查询向下表插入 100 行?

CREATE TABLE #TEST1 (TEST_ID INT IDENTITY(1,1))
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码

DECLARE @numRows int,@i int
SET @numRows = 100
SET @i=1

WHILE @i<@numRows
begin
    INSERT #TEST1 SELECT TOP 1 1 FROM sysobjects a
    SET @i=@i+1
end
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

Emd*_*dad 5

您可以尝试以下查询

CREATE TABLE #TEST1 (TEST_ID INT IDENTITY(1,1))

SET IDENTITY_INSERT #TEST1 ON;

DECLARE @numRows int,@i int
SET @numRows = 100
SET @i=1

WHILE @i<@numRows
BEGIN
    INSERT #TEST1(TEST_ID) SELECT @i
    SET @i=@i+1
END
SET IDENTITY_INSERT #TEST1 OFF;

SELECT * FROM #TEST1
DROP TABLE #TEST1
Run Code Online (Sandbox Code Playgroud)

谢谢