求助, 用UPDATE语句更新表, 产生随机数列, 每条记录此列的值都不同(不用游标实现)
有表如下:
Name Rand_Number
ABC 1000 (初始化值)
BCD 1000
DEF 1000
结果:
Name Rand_Number
ABC 1031 (1000-1050 之间的随机数)
BCD 1025
DEF 1011
可不可以用 UPDATE SET 语句实现, 不用游标实现.
UPDATE 表名 SET Rand_Number = FLOOR((1050-1000+1)*RAND() + 1000 )
此语句使每一条记录的随机数列都相同, 大家看看有没有好的办法, 用UPDATE语句
实现, 不用游标.( 也可以给游标方案, 看看是否简捷)
问题点数:20、回复次数:5Top
1 楼leonidchen(波波)回复于 2006-05-03 22:44:12 得分 0
大家都来顶一下啊Top
2 楼xiangjunhua()回复于 2006-05-03 22:52:08 得分 0
反正我没有办法,如果哪位高手搞清楚了,不妨发表出来看一看,交流交流技术嘛!谢谢!
Top
3 楼xeqtr1982(Visual C# .NET)回复于 2006-05-04 08:30:39 得分 0
create table tb(Name varchar(10),Rand_Number int)
insert into tb select 'ABC',1000
union all select 'BCD',1000
union all select 'DEF',1000
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+char(13)+'UPDATE tb SET Rand_Number = FLOOR((1050-1000+1)*RAND()+1000) where Name='''+[Name]+'''' from tb group by [name]
exec(@sql)
select * from tb
drop table tbTop
4 楼leonidchen(波波)回复于 2006-05-04 18:35:46 得分 0
大哥万分感激,分就是你的拉, 有时间跟跟我联系啊, leonidchen@126.comTop
5 楼xeqtr1982(Visual C# .NET)回复于 2006-05-04 18:37:10 得分 0
:)Top




