关于变量赋值的有关问题~

关于变量赋值的问题~~急我想在一个表里求一个字段的最大值,想用执行字符串的方法实现,可是我用以下的方法

关于变量赋值的问题~~急
我想在一个表里求一个字段的最大值,想用执行字符串的方法实现,可是我用以下的方法写怎么也求不出,得出是空值。请问谁给分析一下~~

declare   @str1   varchar(500)
declare   @V_servicetable   varchar(500)
declare   @v_currentid   numeric

set   @V_servicetable= 'tb '

set   @str1= 'select   '   +   cast(@v_currentid   as   varchar)   +   '   =   max(id)   from   '   +   @V_servicetable  
print   @v_currentid  
exec   (@str1)


[解决办法]
参考:

declare @str nvarchar(4000)
declare @i int
set @str = 'select @i = count(*) from sysobjects '
exec sp_executesql @str,N '@i int out ',@i out
select @i