EXEC(@SQL)能这样用吗?
我在存储过程中有以下的语句   
 SET   @SQL= 'SET   @= '+CHAR(39)+ 'xxxxxxx '+CHAR(39)   
 EXEC(@SQL)   
 语句执行完   @   的值为空,为什以?当然实际的语句要复杂一些,我一直得不到正确的结果就将@SQL改成这样简单,结果   @   也没有得到正确的值,请高手指点。
------解决方案--------------------declare @str varchar(100) 
 declare @sql nvarchar(1000) 
 SET @SQL= N 'SET @str= CHAR(39)+ ' 'xxxxxxx ' '+CHAR(39) ' 
 EXEC sp_executesql @sql,N '@str varchar(100) output ',@str output 
 select @str   
 /*结果 
  'xxxxxxx ' 
 */ 
------解决方案--------------------declare @sql varchar(1000) 
 SET @SQL= 'declare @ varchar(100);SET @= '+CHAR(39)+ 'xxxxxxx '+CHAR(39)+ ';select @ ' 
 EXEC(@SQL)