如果快速生成一个不和表中已有字段值相同随机数
假设表中已有一万条id不同的记录,要生成一个id与它们不同的值
要求:
1,必须是随机,不能让人看出规则
2,int型
假设表中已有一万条id不同的记录,要生成一个id与它们不同的值
要求:
1,必须是随机,不能让人看出规则
2,int型
解决方案 »
- 高分求SQL的问题!!!!!!在线等
- 知道远程IP及数据库用户和口令,在企业管理器中能注册成功,为什么一直连接不上?
- 求一sql语句!在线等!
- 怎么判断时间字段为空
- 见鬼了,高手请来,分不够可另开贴给。
- 库设计:设备表:sb_id,price,buydate,...计算机表:sb_id,CPU,UPS(sb_id).这其中的UPS也是设备。有其sb_id.如何设计其结构和关系?
- 关于使用DesktopEngine作一个系统的离线版的问题!在线等待
- 只有一个.mdf文件如何恢复数据库?
- SQL Server中对日期的判断问题
- 无法创建链接服务器的前提下,如何访问另外一台访问的数据
- 记录中国行政区信息表如何设计
- 统计每个视图记录的条数
select ID into 表
from # order by newID()
ID=identity(int,1,1) into # from syscolumns a,syscolumns b go
select ID into 表 --生成表名
from # order by newID()
ID
1
34
3556
323
294353插入时随便生成一个,不能与已有的相同,在int的min和max之间都可以
--临时表#
/*
ID
-----------
1
2
3
4
5
6
7
8
9
10*/goselect ID=cast(ID as int) into #2
from # order by newID()--生成辅助表#2alter table #2 add row int identity(1,1)
--
select * from #2
/*
ID row
----------- -----------
3 1
4 2
9 3
7 4
2 5
10 6
1 7
5 8
8 9
6 10
*/
--更新#3表ID列
/*
Name ID
-------------------- -----------
base_schema_ver 0
cache 0
category 0
crdate 0
deltrig 0
ftcatid 0
id 0
indexdel 0
info 0
instrig 0*/alter table #3 add row int identity(1,1)--goupdate #3
set ID=#2.ID
from #2
where
#2.row=#3.rowgo
alter table #3 drop column rowgoselect * from #3--查看更新结果
/*
Name ID
-------------------- -----------
base_schema_ver 3
cache 4
category 9
crdate 7
deltrig 2
ftcatid 10
id 1
indexdel 5
info 8
instrig 6(所影响的行数为 10 行)
*/
--drop table #3,#2,#