百万插入

来源:互联网 发布:淘宝怎么极速退款 编辑:程序博客网 时间:2024/04/27 19:33
/*****************************一个方法******************************/
 ---判断Nums 表是否存在,存在即将其删除  
 IF OBJECT_ID('dbo.Nums') IS NOT NULL 
      DROP TABLE dbo.Nums;  
 GO  
 ---重新创建表  
 CREATE TABLE dbo.Nums(n int NOT NULL);  
 DECLARE @max AS int,@rc AS int;  
 SET @max=1000000;  
 SET @rc=1;  
     
 INSERT INTO dbo.Nums VALUES(1);  
 WHILE @rc*2<=@max 
 BEGIN 
 INSERT INTO dbo.Nums   SELECT n+@rc FROM dbo.Nums;  
     SET @rc=@rc*2;  
     END    
 INSERT INTO dbo.Nums  
             SELECT n+@rc FROM dbo.Nums WHERE n+@rc<=@max;  
             GO 


--select top 10 * from Nums order by n desc




/*****************************一个方法******************************/
 IF OBJECT_ID('dbo.Nums') IS NOT NULL 
      DROP TABLE dbo.Nums;  
 GO  
 ---重新创建表  
 CREATE TABLE dbo.Nums(id int NOT NULL ); 
go
declare @j int
set @j = 1
insert into Nums values (1)
while @j*2 <= 1000000
begin
insert into Nums select id+@j from Nums
set @j = @j * 2
end
insert into Nums select id+@j from Nums where id+@j<=1000000
原创粉丝点击