码迷,mamicode.com
首页 > 其他好文 > 详细

递增数据插入表(二)

时间:2014-06-03 09:04:02      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   a   

递增数据插入表,我们还可以使用生成随机数来填充,建表的时候使用约束,不能重复,重复的话自然就不插入,继续生成下一个不重复的随机数。

还是以之前的为例,插入表中的数据为100-999。我们不谈性能(插入数据量小速度也很快的),只谈逻辑。

create table TestNum(num numeric(3,0) unique,check (num between 100 and 999));
go
declare @num int
set @num=(select COUNT(*) from TestNum)
while (@num < 900) 
begin
insert into TestNum 
select round(RAND(CHECKSUM(newid()))*1000,0)
set @num = (select count(*) from TestNum)
end;
go
select COUNT(*) from TestNum;
go
select * from TestNum order by 1;
go

bubuko.com,布布扣

 

上面的插入可能只是某个需求中最基础的实现,比如下面的111000到111999,前面111不变,后面的改变。实际应用可以生成特定号码段的号码

create table TestNum(num numeric(6,0) unique,check (num between 111000 and 111999));
go
declare @num int
set @num=(select COUNT(*) from TestNum)
while (@num < 1000) 
begin
insert into TestNum 
select cast(‘111‘+right(000+convert(nvarchar(6),round(RAND(CHECKSUM(newid()))*1000,0)),3) as numeric(6,0))
set @num = (select count(*) from TestNum)
end;
go

递增数据插入表(二),布布扣,bubuko.com

递增数据插入表(二)

标签:c   style   class   blog   code   a   

原文地址:http://www.cnblogs.com/cnmarkao/p/3760581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!