|
发表于 2020-5-19 21:45:01
|
显示全部楼层
ALTER PROCEDURE dbo.VerseLogPaging
@SortColumn as varchar(100) = null,
@StartRow as int = null,
@StopRow as int = null
AS
---- 建立有标识符列的table变量
declare @t_table table
(
[rownum] [int] IDENTITY (1, 1) Primary key NOT NULL ,
[SortColumn] [varchar] (40) ,
[VerseNumber] [varchar] (20) ,
[SubmitTime] [datetime] ,
[VerseText] [varchar] (500) ,
[UserID] [varchar] (20)
)
declare @sql varchar(8000)
---- 在返回指定的@StopRow行数之后停止处理查询
Set RowCount @StopRow
---- 插入到table变量中
set @sql = 'insert '+@t_table+' ([VerseNumber],[SubmitTime],[VerseText],[UserID]) SELECT [VerseNumber],[SubmitTime],[VerseText],[UserID] FROM ConstructionVerseLog order by '+@SortColumn
exec(@sql)
---- 返回到正确的结果
set @sql = 'SELECT * FROM '+@t_table+' WHERE rownum >= '+@StartRow+' ORDER BY rownum'
exec(@sql)
/* SET NOCOUNT ON */
RETURN
|
|