查询结果付值给变量的问题。
use   Northwind   
 Declare   @Name   varchar(50), 
 	@ID   varchar(50), 
 	@Sql   varchar(100), 
 	@Res   int   
 Set   @Name= 'Orders ' 
 Set   @ID= 'OrderID '     
 	--Set   @Sql=    'Select    '+@Res+ '=Max( '+@ID+ ')+1   from '+   @Name 
 	--Set   @Sql=    'Select    '+@Res+ '=Max(@ID)+1   from '+   @Name 
 	--Set   @Sql=    'Select   @Res=Max(@ID)+1   from    '+   @Name 
 	Set   @Sql=    'Select   Max( '+@ID+ ')+1   from    '+   @Name 
 	Print   @Sql   
 	Execute(@Sql) 
 --------------------------------------- 
 怎样才能把上面的@Sql语句执行结果付值到   @Res   变量中??? 
 偶试过了几种方法都是错误的,敬请高手解答。
------解决方案--------------------use Northwind   
 Declare @Name varchar(50), 
 	@ID varchar(50), 
 	@Sql Nvarchar(100),	--類型改為Nvarchar 
 	@Res int   
 Set @Name= 'Orders ' 
 Set @ID= 'OrderID '   
 Set @Sql=  'Select @Res = Max( '+@ID+ ')+1 from  '+ @Name 
 EXEC sp_executesql @Sql, N '@Res int Output ', @Res Output	--使用sp_executesql 
 Select @Res 
 --Result 
 /* 
 11078 
 */
------解决方案--------------------Declare @Name varchar(50), 
 	@ID varchar(50), 
 	@Sql varchar(100), 
 	@Res int, 
          @maxid int  
         Set @Name= 'Orders ' 
         Set @ID= 'OrderID ' 
 	Set @Sql=  'Select @mid=Max( '+@ID+ ')+1 from  '+ @Name 
 	set @ParmDefinition =N '@mid int OUTPUT ' 
 EXECUTE sp_executesql @SQL,@ParmDefinition ,@mid =@maxid OUTPUT 
 	select @maxid