--多加几个条件参数然后用if declare @User_idx int, @rowcount int,@str select top 1 @User_idx=User_idx,@str=User_str from table1 set @rowcount=@@rowcount while @rowcount=1 begin if @str='a' exec sp1 @user_idx else if@str='b' exec sp2 @user_idxgoto next_chr ----------------------------------------------------------------------------- next_chr: select top 1 @user_idx=user_idx from table set @rowcount=@@rowcount end go
要是随机选出一部分执行sp1,另一部分执行sp2能写吗?
--用rand()试试 declare @User_idx int, @rowcount int select top 1 @User_idx=User_idxfrom table1 set @rowcount=@@rowcount while @rowcount=1 begin if rand()>0.5 exec sp1 @user_idx else exec sp2 @user_idxgoto next_chr ----------------------------------------------------------------------------- next_chr: select top 1 @user_idx=user_idx from table set @rowcount=@@rowcount end go
--多加几个条件参数然后用if
declare @User_idx int, @rowcount int,@str
select top 1 @User_idx=User_idx,@str=User_str from table1
set @rowcount=@@rowcount
while @rowcount=1
begin
if @str='a'
exec sp1 @user_idx
else if@str='b'
exec sp2 @user_idxgoto next_chr
-----------------------------------------------------------------------------
next_chr:
select top 1 @user_idx=user_idx from table
set @rowcount=@@rowcount
end
go
--用rand()试试
declare @User_idx int, @rowcount int
select top 1 @User_idx=User_idxfrom table1
set @rowcount=@@rowcount
while @rowcount=1
begin
if rand()>0.5
exec sp1 @user_idx
else
exec sp2 @user_idxgoto next_chr
-----------------------------------------------------------------------------
next_chr:
select top 1 @user_idx=user_idx from table
set @rowcount=@@rowcount
end
go
..语句
else
...语句