本人菜鸟 想通过select 检索语句 查出存储过程的参数进行批量 执行存储过程
比如
select UserName,Parent from [User]
取出 UserName,Parent这两个参数
批量的执行 存储过程 Pro(@UserName,@Parent)
望高手指教 先谢谢了

解决方案 »

  1.   


    declare @table table (id int,name varchar(1))
    insert into @table
    select 1,'a' union all
    select 2,'b' union all
    select 3,'c'select * from @table
    declare @sql varchar(3000)
    set @sql=''
    select @sql=@sql+'exec proc '+name+' , '+cast(id as varchar(200))+'; go ;' from @tableselect @sql--exec(@sql)/*
    id          name
    ----------- ----
    1           a
    2           b
    3           c--------------------------------------------------------------
    exec proc a , 1; go ;exec proc b , 2; go ;exec proc c , 3; go ;*/
      

  2.   


    select @sql --看结果
    exec(@sql) --执行就可以了
      

  3.   

    给一个建议1.要用到使用游标,动态生成SQL语句
    2.动态SQL执行,exec(strsql).如果复杂的话可以使用 sp_executesql
      

  4.   


    多谢 maco_wang 解答 但是现实执行的时候 提示
    'go' 附近有语法错误。
      

  5.   

    多谢 zhengzeng 提的建议
      

  6.   

    呵呵 问题解决 结贴给分 去掉GO竟然行了 
    感谢maco_wang 解答感谢zhengzeng 提的建议