2000的话只能这个方法. ------解决方案-------------------- declare @sql varchar(max)
set @sql=N'INSERT INTO UpdateBak SELECT TOP '+str(@top)+' * FROM TSTAT '
exec (@sql) ------解决方案-------------------- declare @top int
set @top = 30
INSERT INTO UpdateBak SELECT TOP (@top) * FROM TSTAT
加个括号就可以了
------解决方案--------------------
2000只能动态了 ------解决方案-------------------- top允许变量是sql server 2005的新功能,2000只能动态语句