declare @cmd nvarchar(255)Set @cmd = 'select top ' + cast(@top as nvarchar) + ' * from DTable where id=' + cast(@id as nvarchar)exec sp_executesql @cmd
搞错了。id为int要转化.declare @p1 varchar(100)set @p1='select top '+cast(@top as varchar)+' * from DTable where id='+cast(@id as varchar)exec(@p1)
搞错了。id为int要转化.呵呵.不好意思.declare @p1 varchar(100)set @p1='select top '+cast(@top as varchar)+' * from DTable where id='+cast(@id as varchar)exec(@p1)
exec('select top '+cast(@top as varchar)+' * from DTable where id='+cast(@id as varchar))
@id int, @top int @sql_str nvarchar(4000) set sql_str='select top '+cast(@top as nvarchar)+' * from DTable where id='+cast(@id as nvarchar) EXECUTE sp_executesql sql_str
declare @id int declare @top int declare @sql_str nvarchar(4000) set sql_str='select top '+cast(@top as nvarchar)+' * from DTable where id='+cast(@id as nvarchar) EXECUTE sp_executesql sql_str
+ ' * from DTable where id=' + cast(@id as nvarchar)exec sp_executesql @cmd
@top int
@sql_str nvarchar(4000)
set sql_str='select top '+cast(@top as nvarchar)+' * from DTable where id='+cast(@id as nvarchar)
EXECUTE sp_executesql sql_str
declare @top int
declare @sql_str nvarchar(4000)
set sql_str='select top '+cast(@top as nvarchar)+' * from DTable where id='+cast(@id as nvarchar)
EXECUTE sp_executesql sql_str