declare @top int set @top = 30 INSERT INTO UpdateBak SELECT TOP CAST(@top as varchar) * FROM TSTAT
[解决办法] 那就用exec去执行动态拼接喽 [解决办法]
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只能动态语句