CREATE PROCEDURE  finishitem  
@tname varchar(30)
as
select *  from @tname
GO
-------------
这样为什么不行

解决方案 »

  1.   


    exec 'select * from' + @tname大概這樣吧!>>sql server 的存储过程不能把表名作为参数吗?
    是可以的
      

  2.   

    楼主,在你写过程后它要进行编译呀,在编译的时候它肯定要查你的@TNAME的在数据库中找不到它会编译为SELECT * FROM 一个不知道的表,肯定会错了!!
      

  3.   

    执行语句最好如下(不然exec会把它后面的语句当作存储过程的):
    exec( 'select * from ' + @tname)
      

  4.   

    exec( 'select * from ' + @tname)
      

  5.   

    同意,
    exec 'select * from' + @tname