declare @bhxh int
SET @BHXH=1
WHILE @BHXH<3000
BEGIN
declare @va varchar(20)
exec upfdatesj @va output
update yskq set sj=(select @va) WHERE SJ>'21:00:00' AND BH=@BHXH
SET @BHXH=@BHXH+1
end
今天我用其中的一项(11)做循环,但是还是达不到想要的效果。如果能俩条件同时循环的话有点希望。高手们帮帮忙啊!
declare @bhxh int,@datexh datetime, @starttimedatetime, @endtimedatetime
set @bhxh=1,@bhxh<3000,@datexh='2009-01-01',@datexh<'2011-01-01'
while @bhxh=bh
begin
update table_name set sj=(dateadd(second,convert(int,(rand()*datediff(second,@starttime,@endtime))), @starttime ))
WHERE SJ>'21:00:00'
while @datexh=rq
begin
@datexh=@datexh+1
end
end
我的想法是分别找出某天(rq)某人(bh)大于21:00:00的值后更新,这样就不会违反条件约束了(某天出现同一个值)。上面程序有语法错误,请帮忙看看。想请教高手还有不有其它好的办法。