日期:2014-05-19  浏览次数:20637 次

必须声明表变量??写着对着,怎么不行???
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)