随机抽取一定数据修改 应用于分配随机数据

update Customers set 【要更新的内容】 where 【更新表主键】in   (select top 【数量】【更新表主键】 from customers where 【搜索条件】 order by newid() )

其实一句话就可以搞定了。

这是我修改一个现有的CMS系统的替换掉的一个存储过程——随机分配客户。原来的存储过程超过50行代码。做法是随机查询后填充入临时表,然后再一条条读取循环更新。随机查询方法也写了一些,大概是抽取随机数,可是缺少了唯一性的判断等问题,所以出现了问题。上面是我的解决方案。用一行代码替换掉50行代码的确有点夸张。不过如果能理解和了解更多的知识,那么可以简化程序的代码量,避免很多的由于程序量增加而带进的Bug。我想这还是没有错的。

你可能感兴趣的:(随机数)