如何在单个命令中的表中插入n个记录

Hai*_*ihi 3 bulkinsert sql-server-2005

我想在表中插入10000条记录,我目前正在sql server 2005中编写此代码

declare @n decimal(10,0);
set @n = 0;
while ( @n < 10000)
begin
   insert into table1 values (@n+1)
   set @n = @n + 1
end
Run Code Online (Sandbox Code Playgroud)

在上面的代码插入命令执行10000次是否存在任何单个命令.

cai*_*rnz 5

您也可以使用sys对象:

INSERT INTO table1(n)
SELECT TOP 10000 ROW_NUMBER() OVER(ORDER BY a.object_id) AS n FROM sys.objects a CROSS JOIN sys.objects b
GO
Run Code Online (Sandbox Code Playgroud)