必须声明表变量??写着对着,怎么不行???
DECLARE   @tab   TABLE(cateid   int,catename   varchar(2000)) 
 insert   @tab   values(100, '产品 ') 
 DECLARE   @SQL   varchar(2000) 
 SET   @SQL   =    'select   *   from    '+@tab 
 exec(@SQL) 
------解决方案----------------------表变量的生命期问题,直接在动态SQL中定义   
 DECLARE @SQL varchar(2000)   
 SET @SQL =  'DECLARE @tab TABLE(cateid int,catename varchar(2000)) 
 insert @tab values(100, ' '产品 ' ') select * from @tab '   
 exec(@SQL)