RETURNGO 在SQL Server 2K5中没有问题,但到了Sql Server 2K中,却报错:服务器: 消息 170,级别 15,状态 1,过程 GetRecentNews,行 9第 9 行: '@PageSize' 附近有语法错误。服务器: 消息 170,级别 15,状态 1,过程 GetRecentNews,行 10第 10 行: '@PageSize' 附近有语法错误。服务器: 消息 170,级别 15,状态 1,过程 GetRecentNews,行 13第 13 行: '@PageSize' 附近有语法错误。 晕!Sql Server 2K中写法如下:CREATE PROCEDURE [dbo].[GetRecentNews] @SchoolID int, @NewsType int, @PageSize int, @Page intAS --分页 declare @current int set @current= @PageSize*(@Page-1) if (@NewsType=0) exec('SELECT TOP ' + @PageSize +' ID,Title,UpdateTime FROM News WHERE SchoolID='+ @SchoolID +' AND ID NOT IN (SELECT TOP ' + @current +' ID FROM News WHERE SchoolID='+@SchoolID+' ORDER BY UpdateTime DESC) ORDER BY UpdateTime DESC') else exec('SELECT TOP ' + @PageSize +' ID,Title,UpdateTime FROM News WHERE SchoolID='+ @SchoolID +' AND NewsType='+ @NewsType +' AND ID NOT IN (SELECT TOP ' + @current +' ID FROM News WHERE SchoolID='+@SchoolID+' AND NewsType='+@NewsType+' ORDER BY UpdateTime DESC) ORDER BY UpdateTime DESC') returnGO