CREATE PROCEDURE findtable
@table_name char (30)                  
AS
declare @sql
set @sql = 'select * from' + @table_name --这样既可
exec(@sql)
go

解决方案 »

  1.   


    CREATE PROCEDURE findtable
    @table_name char (30)                  
    AS
    EXEC('select * from '+@table_name) --用动态语句
    go
      

  2.   

    exec    sp_executesql    @sql
      

  3.   

    meiqingsong(阿飛):
    你发的这个有错误啊,说set附近有错,但是我也觉得这样的语法不会有错啊,不知道是怎么搞的paoluo(一天到晚游泳的鱼):
    这个朋友发的就不会有错,是不是存储过程中不能用set语句哦?
      

  4.   

    哦,我知道了,是你的declare @sql后面没有定义类型,我晕,你真是小马虎
    应该是declare  @sql  char (100)
    不过还是真的很感谢你,还有大家!!