sql 如何插入大批量无重复数据

albert522 2009-03-31 10:41:51
如题 生成的数据在 2-10万左右。
...全文
183 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
albert522 2009-03-31
  • 打赏
  • 举报
回复
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 albert522 的回复:]
如何保证它不重复呢?
[/Quote]
select number from master..spt_values where type='p' and number between 10 and 20 order by newid()

number
-----------
15
14
18
12
20
13
10
16
17
11
19

(11 行受影响)
albert522 2009-03-31
  • 打赏
  • 举报
回复
而且 id 是 10 20 为数字或者字母组成
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
需要到表吗
albert522 2009-03-31
  • 打赏
  • 举报
回复
如何保证它不重复呢?
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 albert522 的回复:]
生成的 id 为 10 到 20 为 随即数怎么做
[/Quote]
select top 1 abs(checksum(newid()))%10+10 from sysobjects
sdhdy 2009-03-31
  • 打赏
  • 举报
回复
select top 11 identity(int,10,1) as id into # from syscolumns a  

select * from # order by newid()

drop table #
/*
id
-----------
13
20
17
18
16
12
11
19
10
15
14

(所影响的行数为 11 行)
rucypli 2009-03-31
  • 打赏
  • 举报
回复
NEWID ( )
创建一个 uniqueidentifier 类型的唯一值。
等不到来世 2009-03-31
  • 打赏
  • 举报
回复
if object_id('[tb]') is not null 
drop table [tb]
go
create table [tb]([id] int,[col] int)

declare @i int
set @i=1
while @i<20000
begin
insert tb values(floor(11*rand()+10),@i)
set @i=@i+1
end
albert522 2009-03-31
  • 打赏
  • 举报
回复
生成的 id 为 10 到 20 为 随即数怎么做
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
select top 100000 id=identity(int,2,1) into # from syscolumns a,syscolumns b,syscolumns c,syscolumns d,syscolumns e
不好意思,太快了
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
select top 100000 id=identity(int,2,1) from syscolumns,syscolumns,syscolumns,syscolumns,syscolumns
dawugui 2009-03-31
  • 打赏
  • 举报
回复
--临时表
select top 20000 identity(int,0,1) as id into # from syscolumns a,syscolumns b , syscolumns c

select * from #

drop table #

22,211

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧