日期:2014-05-17  浏览次数:20532 次

求解 向数据表中的一列随机插入数据问题
一个已经存在的数据表all, 例如:
name age number1 number2
hui 23 null null
li 24 null null
chu 20 null null
che 24 null null

....


1、我想给number1列随机插入一个从65到78之间的随机数字(可以重复)
使其变为:
name age number1
hui 23 65
li 24 68
chu 20 75
che 24 65
....(几千行)


2、想给number2列随机插入一个从60、65、70、75这四个数字的随机数字(可以重复)
使其变为:
name age number2
hui 23 65
li 24 60
chu 20 75
che 24 70
....(几千行)


大家帮帮忙 我的sql语句实在薄弱


------解决方案--------------------
use [databasename]
go
declare @i int
declare @p int
set @i=(select COUNT(姓名) from [WomenArchives])
set @p=1
declare @a table(姓名 varchar(20),身份证号 varchar(20),心率 int,血压低压 int)
while (@p<=@i)
begin
update [WomenArchives] set 心率=65+CONVERT(int,14*RAND())
update [WomenArchives] set 血压低压=5*CONVERT(int,12+4*RAND())
insert into @a
select top(1)姓名,身份证号,心率,血压低压
from [WomenArchives]
delete from [WomenArchives] where (姓名 in (select 姓名 from @a) and 身份证号 in (select 身份证号 from @a))
set @p=@p+1
end
insert into [WomenArchives]
(姓名,身份证号,心率,血压低压)
select * from @a
select * from [WomenArchives]
刚刚有几处地方搞错了。
红字部分全部改成你数据库中[WomenArchives]表相对应的字段的名称,而不是改成表A的名称。
另外蓝字部分改为上面这个。