select ID from Organization where OStatus = 1--现在我要对找出来的ID执行相同存储过程EXEC proc_name id这些ID不是连续的,怎么对他都执行?

解决方案 »

  1.   

    declare @ID int
    select @ID=ID from Organization where OStatus = 1--现在我要对找出来的ID执行相同存储过程EXEC proc_name @ID
      

  2.   

    declare @s nvarchar(4000) 
    set @s=''
    select @s=@s+'EXEC proc_name '+rtrim(ID)+'; ' from Organization where OStatus = 1
    exec (@s)多结果集是这样用
      

  3.   

    我觉得是用油标来做.
    declare @id int;
    declare cur cursor fast_forward for
      select ID from Organization where OStatus = 1;
    open cur;
    fetch next from cur into @id;
    while @@fetch_status=0
    begin
       EXEC proc_name @id
       fetch next from cur into @id;
    end
    close cur;
    deallocate cur;
      

  4.   

    vfp:
    select ID from Organization where OStatus = 1 into cursor tt
    use tt
    scan
    endscan猜想sql用游标。
      

  5.   

    支持5楼晴天的办法,这样你可以使用JOIN语句或者IN一个子查询的方式,在一个存储过程里完成你的需求,并且只生成一个结果集,便于你后期的处理。