【SQL开源代码栏目提醒】:网学会员,鉴于大家对SQL开源代码十分关注,论文会员在此为大家搜集整理了“GetLimingchStudioPagedSortedData.sql”一文,供大家参考学习!
USE 北风贸易;
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetLimingchStudioPagedSortedData]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[GetLimingchStudioPagedSortedData]
GO
CREATE PROCEDURE GetLimingchStudioPagedSortedData
(
@SortColumnExpression NVarChar(100),
@StartRowIndex INT,
@MaximumRows INT
)
AS
-- 建立一个暂存数据表来储存所提取的数据。
CREATE TABLE #MyTempPagedSortedTable
(
序号 INT IDENTITY (1, 1) NOT NULL,
列号 INT
)
-- 将数据行新建至暂存数据表。
INSERT INTO #MyTempPagedSortedTable (列号)
SELECT 员工号码 FROM 章立民研究室
ORDER BY
CASE WHEN @SortColumnExpression='员工号码' THEN 员工号码 END ASC,
CASE WHEN @SortColumnExpression='员工号码 DESC' THEN 员工号码 END DESC,
CASE WHEN @SortColumnExpression='' THEN END ASC,
CASE WHEN @SortColumnExpression=' DESC' THEN END DESC,
CASE WHEN @SortColumnExpression='性别' THEN 性别 END ASC,
CASE WHEN @SortColumnExpression='性别 DESC' THEN 性别 END DESC,
CASE WHEN @SortColumnExpression='地址' THEN 地址 END ASC,
CASE WHEN @SortColumnExpression='地址 DESC' THEN 地址 END DESC,
CASE WHEN @SortColumnExpression='部门' THEN 部门 END ASC,
CASE WHEN @SortColumnExpression='部门 DESC' THEN 部门 END DESC
-- 取得特定分页的数据行
SELECT 员工号码, , 性别, 地址, 部门
FROM
章立民研究室
INNER JOIN #MyTempPagedSortedTable WITH (nolock)
ON 章立民研究室.员工号码 = #MyTempPagedSortedTable.列号
WHERE
#MyTempPagedSortedTable.序号 > @StartRowIndex
AND #MyTempPagedSortedTable.序号 < (@StartRowIndex + @MaximumRows + 1)
ORDER BY
#MyTempPagedSortedTable.序号