CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

求助, 用UPDATE语句更新表, 产生随机数列, 每条记录此列的值都不同(不用游标实现)

楼主leonidchen(波波)2006-05-03 22:31:42 在 MS-SQL Server / 疑难问题 提问

有表如下:  
  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

相关问题

关键词

得分解答快速导航

  • 帖主:leonidchen

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo