set @sql='select * from '+@a+@b+@c..........
print @sql

解决方案 »

  1.   

    谢谢,可是好像不行啊?我执行exec 存储过程名 参数,它什么提示都没有,这个有可能是什么问题呢?
      

  2.   


    create proc proc1(@a varchar(30),@sql nvarchar(4000) output)
    as 
    set @sql='select * from '+@adeclare @sql nvarchar(4000)
    exec proc1 'tableA',@sql output
    print @sq
      

  3.   

    SQL Server不能跟踪调试!!!只能通过分析器调用存储过程,在存储过程中用Select语句来调试
      

  4.   

    在存储过程中必要的地方写 print  @str  
    在查询分析器里运行存储过程
    可以进行变相跟踪
      

  5.   

    SQL Server不能跟踪调试!!!谁说不能跟踪调试呀?不要误人子弟了.
      

  6.   

    把存储过程copy 到查询分析其,删除create pro..语句,删除传入参数,另外定义参数和你的传入参数一样,把参数赋上你要传入的值,然后在exec语句前print 要执行的语句,不要忘记把代码保存成文件,已被以后调试:)如果你变量很长的话,注意不要用select赋值,改用set,否则后果自负(通常的情况下,字符串背截短了,55555,全错了!)