[数据库] 通用分页存储过程第1/5页
{"3":"
\u5347\u5e8f-\u964d\u5e8f
\u8fd9\u4e2a\u65b9\u6cd5\u5728\u5b50\u67e5\u8be2\u4e2d\u4f7f\u7528\u9ed8\u8ba4\u6392\u5e8f\uff0c\u5728\u4e3b\u67e5\u8be2\u4e2d\u4f7f\u7528\u53cd\u5411\u6392\u5e8f\uff0c\u539f\u7406\u662f\u8fd9\u6837\u7684\uff1a
\u5347\u5e8f-\u964d\u5e8f
\u8fd9\u4e2a\u65b9\u6cd5\u5728\u5b50\u67e5\u8be2\u4e2d\u4f7f\u7528\u9ed8\u8ba4\u6392\u5e8f\uff0c\u5728\u4e3b\u67e5\u8be2\u4e2d\u4f7f\u7528\u53cd\u5411\u6392\u5e8f\uff0c\u539f\u7406\u662f\u8fd9\u6837\u7684\uff1a
\n\u590d\u5236\u4ee3\u7801<\/u><\/a><\/span> \u4ee3\u7801\u5982\u4e0b:<\/div>\n
\n
DECLARE\u00a0@temp\u00a0TABLE\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0PK\u00a0\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0NOT\u00a0NULL\u00a0PRIMARY\u00a0\u00a0
)\u00a0
INSERT\u00a0INTO\u00a0@temp\u00a0\u00a0
SELECT\u00a0TOP\u00a0@PageSize\u00a0PK\u00a0FROM\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0SELECT\u00a0TOP\u00a0(@StartRow\u00a0+\u00a0@PageSize)\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0PK,\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0SortColumn\u00a0\/*If\u00a0sorting\u00a0column\u00a0is\u00a0defferent\u00a0from\u00a0the\u00a0PK,\u00a0SortColumn\u00a0must\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0be\u00a0fetched\u00a0as\u00a0well,\u00a0otherwise\u00a0just\u00a0the\u00a0PK\u00a0is\u00a0necessary\u00a0*\/\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0default\u00a0order\u00a0\u2013\u00a0typically\u00a0ASC\u00a0*\/)\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0reversed\u00a0default\u00a0order\u00a0\u2013\u00a0typically\u00a0DESC\u00a0*\/\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0JOIN\u00a0@Temp\u00a0temp\u00a0ON\u00a0Table.PK\u00a0=\u00a0temp.PK\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0default\u00a0order\u00a0*\/\u00a0
\n<\/div>\n
\u884c\u8ba1\u6570
\u8fd9\u4e2a\u65b9\u6cd5\u7684\u57fa\u672c\u903b\u8f91\u4f9d\u8d56\u4e8eSQL\u4e2d\u7684SET\u00a0ROWCOUNT\u8868\u8fbe\u5f0f\uff0c\u8fd9\u6837\u53ef\u4ee5\u8df3\u8fc7\u4e0d\u5fc5\u8981\u7684\u884c\u5e76\u4e14\u83b7\u5f97\u9700\u8981\u7684\u884c\u8bb0\u5f55
DECLARE\u00a0@temp\u00a0TABLE\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0PK\u00a0\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0NOT\u00a0NULL\u00a0PRIMARY\u00a0\u00a0
)\u00a0
INSERT\u00a0INTO\u00a0@temp\u00a0\u00a0
SELECT\u00a0TOP\u00a0@PageSize\u00a0PK\u00a0FROM\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0SELECT\u00a0TOP\u00a0(@StartRow\u00a0+\u00a0@PageSize)\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0PK,\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0SortColumn\u00a0\/*If\u00a0sorting\u00a0column\u00a0is\u00a0defferent\u00a0from\u00a0the\u00a0PK,\u00a0SortColumn\u00a0must\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0be\u00a0fetched\u00a0as\u00a0well,\u00a0otherwise\u00a0just\u00a0the\u00a0PK\u00a0is\u00a0necessary\u00a0*\/\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0default\u00a0order\u00a0\u2013\u00a0typically\u00a0ASC\u00a0*\/)\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0reversed\u00a0default\u00a0order\u00a0\u2013\u00a0typically\u00a0DESC\u00a0*\/\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0JOIN\u00a0@Temp\u00a0temp\u00a0ON\u00a0Table.PK\u00a0=\u00a0temp.PK\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0\/*\u00a0default\u00a0order\u00a0*\/\u00a0
\n<\/div>\n
\u884c\u8ba1\u6570
\u8fd9\u4e2a\u65b9\u6cd5\u7684\u57fa\u672c\u903b\u8f91\u4f9d\u8d56\u4e8eSQL\u4e2d\u7684SET\u00a0ROWCOUNT\u8868\u8fbe\u5f0f\uff0c\u8fd9\u6837\u53ef\u4ee5\u8df3\u8fc7\u4e0d\u5fc5\u8981\u7684\u884c\u5e76\u4e14\u83b7\u5f97\u9700\u8981\u7684\u884c\u8bb0\u5f55
\n\u590d\u5236\u4ee3\u7801<\/u><\/a><\/span> \u4ee3\u7801\u5982\u4e0b:<\/div>\n
\n
DECLARE\u00a0@Sort\u00a0\/*\u00a0the\u00a0type\u00a0of\u00a0the\u00a0sorting\u00a0column\u00a0*\/\u00a0
SET\u00a0ROWCOUNT\u00a0@StartRow\u00a0
SELECT\u00a0@Sort\u00a0=\u00a0SortColumn\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
SET\u00a0ROWCOUNT\u00a0@PageSize\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0WHERE\u00a0SortColumn\u00a0>=\u00a0@Sort\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u5b50\u67e5\u8be2
\u8fd8\u6709\u4e24\u4e2a\u65b9\u6cd5\u4e5f\u662f\u6211\u8003\u8651\u8fc7\u7684\uff0c\u4ed6\u4eec\u7684\u6765\u6e90\u4e0d\u540c\u3002\u7b2c\u4e00\u4e2a\u662f\u4f17\u6240\u5468\u77e5\u7684\u4e09\u89d2\u67e5\u8be2(Triple\u00a0Query)\u6216\u8005\u8bf4\u81ea\u67e5\u8be2\u65b9\u6cd5\uff0c\u6211\u627e\u7684\u4e00\u4e2a\u6bd4\u8f83\u900f\u5f7b\u7684\u65b9\u6cd5\u5728\u4e0b\u9762\u7684\u6587\u7ae0\u4e2d\u6709\u63cf\u8ff0
SQL\u00a0Server\u670d\u52a1\u5668\u7aef\u5206\u9875
\u867d\u7136\u4f60\u9700\u8981\u8ba2\u9605\uff0c\u4f46\u662f\u53ef\u4ee5\u4e0b\u8f7d\u4e00\u4e2a\u5305\u542b\u5b50\u67e5\u8be2\u5b58\u50a8\u8fc7\u7a0b\u5b9a\u4e49\u7684zip\u6587\u4ef6\u3002\u5217\u88684\u00a0SELECT_WITH_PAGINGStoredProcedure.txt\u6587\u4ef6\u5305\u542b\u4e00\u4e2a\u5b8c\u6574\u7684\u901a\u7528\u7684\u52a8\u6001SQL\u3002\u5728\u672c\u6587\u4e2d\uff0c\u6211\u4e5f\u7528\u4e00\u4e2a\u7c7b\u4f3c\u7684\u5305\u542b\u6240\u6709\u5176\u4ed6\u5b58\u50a8\u8fc7\u7a0b\u7684\u901a\u7528\u903b\u8f91\u3002\u8fd9\u91cc\u7684\u539f\u7406\u662f\u8fde\u63a5\u5230\u6574\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u6211\u5bf9\u539f\u59cb\u4ee3\u7801\u505a\u4e86\u4e00\u4e9b\u7f29\u51cf\uff0c\u56e0\u4e3arecordcount\u5728\u6211\u7684\u6d4b\u8bd5\u4e2d\u4e0d\u9700\u8981\uff09
DECLARE\u00a0@Sort\u00a0\/*\u00a0the\u00a0type\u00a0of\u00a0the\u00a0sorting\u00a0column\u00a0*\/\u00a0
SET\u00a0ROWCOUNT\u00a0@StartRow\u00a0
SELECT\u00a0@Sort\u00a0=\u00a0SortColumn\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
SET\u00a0ROWCOUNT\u00a0@PageSize\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0WHERE\u00a0SortColumn\u00a0>=\u00a0@Sort\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u5b50\u67e5\u8be2
\u8fd8\u6709\u4e24\u4e2a\u65b9\u6cd5\u4e5f\u662f\u6211\u8003\u8651\u8fc7\u7684\uff0c\u4ed6\u4eec\u7684\u6765\u6e90\u4e0d\u540c\u3002\u7b2c\u4e00\u4e2a\u662f\u4f17\u6240\u5468\u77e5\u7684\u4e09\u89d2\u67e5\u8be2(Triple\u00a0Query)\u6216\u8005\u8bf4\u81ea\u67e5\u8be2\u65b9\u6cd5\uff0c\u6211\u627e\u7684\u4e00\u4e2a\u6bd4\u8f83\u900f\u5f7b\u7684\u65b9\u6cd5\u5728\u4e0b\u9762\u7684\u6587\u7ae0\u4e2d\u6709\u63cf\u8ff0
SQL\u00a0Server\u670d\u52a1\u5668\u7aef\u5206\u9875
\u867d\u7136\u4f60\u9700\u8981\u8ba2\u9605\uff0c\u4f46\u662f\u53ef\u4ee5\u4e0b\u8f7d\u4e00\u4e2a\u5305\u542b\u5b50\u67e5\u8be2\u5b58\u50a8\u8fc7\u7a0b\u5b9a\u4e49\u7684zip\u6587\u4ef6\u3002\u5217\u88684\u00a0SELECT_WITH_PAGINGStoredProcedure.txt\u6587\u4ef6\u5305\u542b\u4e00\u4e2a\u5b8c\u6574\u7684\u901a\u7528\u7684\u52a8\u6001SQL\u3002\u5728\u672c\u6587\u4e2d\uff0c\u6211\u4e5f\u7528\u4e00\u4e2a\u7c7b\u4f3c\u7684\u5305\u542b\u6240\u6709\u5176\u4ed6\u5b58\u50a8\u8fc7\u7a0b\u7684\u901a\u7528\u903b\u8f91\u3002\u8fd9\u91cc\u7684\u539f\u7406\u662f\u8fde\u63a5\u5230\u6574\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u6211\u5bf9\u539f\u59cb\u4ee3\u7801\u505a\u4e86\u4e00\u4e9b\u7f29\u51cf\uff0c\u56e0\u4e3arecordcount\u5728\u6211\u7684\u6d4b\u8bd5\u4e2d\u4e0d\u9700\u8981\uff09
\n\u590d\u5236\u4ee3\u7801<\/u><\/a><\/span> \u4ee3\u7801\u5982\u4e0b:<\/div>\n
\n
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0WHERE\u00a0PK\u00a0IN\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0(SELECT\u00a0TOP\u00a0@PageSize\u00a0PK\u00a0FROM\u00a0Table\u00a0WHERE\u00a0PK\u00a0NOT\u00a0IN\u00a0
\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0(SELECT\u00a0TOP\u00a0@StartRow\u00a0PK\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn)\u00a0
\u00a0\u00a0\u00a0\u00a0ORDER\u00a0BY\u00a0SortColumn)\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u6e38\u6807
\u5728\u770bgoogle\u8ba8\u8bba\u7ec4\u7684\u65f6\u5019\uff0c\u6211\u627e\u5230\u4e86\u6700\u540e\u4e00\u4e2a\u65b9\u6cd5\uff0c\u4f60\u53ef\u4ee5\u70b9\u8fd9\u91cc\u67e5\u770b\u539f\u59cb\u5e16\u5b50\u3002\u8be5\u65b9\u6cd5\u662f\u7528\u4e86\u4e00\u4e2a\u670d\u52a1\u5668\u7aef\u52a8\u6001\u6e38\u6807\u3002\u8bb8\u591a\u4eba\u8bd5\u56fe\u907f\u514d\u4f7f\u7528\u6e38\u6807\uff0c\u56e0\u4e3a\u6e38\u6807\u6ca1\u6709\u5173\u7cfb\u53ef\u8a00\uff0c\u4ee5\u53ca\u6709\u5e8f\u6027\u5bfc\u81f4\u5176\u6548\u7387\u4e0d\u9ad8\uff0c\u4f46\u56de\u8fc7\u5934\u6765\u770b\uff0c\u5206\u9875\u5176\u5b9e\u662f\u4e00\u4e2a\u6709\u5e8f\u7684\u4efb\u52a1\uff0c\u65e0\u8bba\u4f60\u4f7f\u7528\u54ea\u79cd\u65b9\u6cd5\uff0c\u4f60\u90fd\u5fc5\u987b\u56de\u5230\u5f00\u59cb\u884c\u8bb0\u5f55\u3002\u5728\u4e4b\u524d\u7684\u65b9\u6cd5\u4e2d\uff0c\u5148\u9009\u62e9\u6240\u6709\u5728\u5f00\u59cb\u8bb0\u5f55\u4e4b\u524d\u7684\u6240\u6709\u884c\uff0c\u52a0\u4e0a\u9700\u8981\u7684\u884c\u8bb0\u5f55\uff0c\u7136\u540e\u5220\u9664\u6240\u6709\u4e4b\u524d\u7684\u884c\u3002\u52a8\u6001\u6e38\u6807\u6709\u4e00\u4e2aFETCH\u00a0RELATIVE\u9009\u9879\u53ef\u4ee5\u5b8c\u6210\u9b54\u6cd5\u822c\u7684\u8df3\u8f6c\u3002\u57fa\u672c\u7684\u903b\u8f91\u5982\u4e0b\uff1a
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0WHERE\u00a0PK\u00a0IN\u00a0\u00a0
\u00a0\u00a0\u00a0\u00a0(SELECT\u00a0TOP\u00a0@PageSize\u00a0PK\u00a0FROM\u00a0Table\u00a0WHERE\u00a0PK\u00a0NOT\u00a0IN\u00a0
\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0(SELECT\u00a0TOP\u00a0@StartRow\u00a0PK\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn)\u00a0
\u00a0\u00a0\u00a0\u00a0ORDER\u00a0BY\u00a0SortColumn)\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u6e38\u6807
\u5728\u770bgoogle\u8ba8\u8bba\u7ec4\u7684\u65f6\u5019\uff0c\u6211\u627e\u5230\u4e86\u6700\u540e\u4e00\u4e2a\u65b9\u6cd5\uff0c\u4f60\u53ef\u4ee5\u70b9\u8fd9\u91cc\u67e5\u770b\u539f\u59cb\u5e16\u5b50\u3002\u8be5\u65b9\u6cd5\u662f\u7528\u4e86\u4e00\u4e2a\u670d\u52a1\u5668\u7aef\u52a8\u6001\u6e38\u6807\u3002\u8bb8\u591a\u4eba\u8bd5\u56fe\u907f\u514d\u4f7f\u7528\u6e38\u6807\uff0c\u56e0\u4e3a\u6e38\u6807\u6ca1\u6709\u5173\u7cfb\u53ef\u8a00\uff0c\u4ee5\u53ca\u6709\u5e8f\u6027\u5bfc\u81f4\u5176\u6548\u7387\u4e0d\u9ad8\uff0c\u4f46\u56de\u8fc7\u5934\u6765\u770b\uff0c\u5206\u9875\u5176\u5b9e\u662f\u4e00\u4e2a\u6709\u5e8f\u7684\u4efb\u52a1\uff0c\u65e0\u8bba\u4f60\u4f7f\u7528\u54ea\u79cd\u65b9\u6cd5\uff0c\u4f60\u90fd\u5fc5\u987b\u56de\u5230\u5f00\u59cb\u884c\u8bb0\u5f55\u3002\u5728\u4e4b\u524d\u7684\u65b9\u6cd5\u4e2d\uff0c\u5148\u9009\u62e9\u6240\u6709\u5728\u5f00\u59cb\u8bb0\u5f55\u4e4b\u524d\u7684\u6240\u6709\u884c\uff0c\u52a0\u4e0a\u9700\u8981\u7684\u884c\u8bb0\u5f55\uff0c\u7136\u540e\u5220\u9664\u6240\u6709\u4e4b\u524d\u7684\u884c\u3002\u52a8\u6001\u6e38\u6807\u6709\u4e00\u4e2aFETCH\u00a0RELATIVE\u9009\u9879\u53ef\u4ee5\u5b8c\u6210\u9b54\u6cd5\u822c\u7684\u8df3\u8f6c\u3002\u57fa\u672c\u7684\u903b\u8f91\u5982\u4e0b\uff1a
\n\u590d\u5236\u4ee3\u7801<\/u><\/a><\/span> \u4ee3\u7801\u5982\u4e0b:<\/div>\n
\n
DECLARE\u00a0@PK\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0
DECLARE\u00a0@tblPK\u00a0TABLE\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0PK\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0NOT\u00a0NULL\u00a0PRIMARY\u00a0KEY\u00a0
)\u00a0
DECLARE\u00a0PagingCursor\u00a0CURSOR\u00a0DYNAMIC\u00a0READ_ONLY\u00a0FOR\u00a0
SELECT\u00a0@PK\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
OPEN\u00a0PagingCursor\u00a0
FETCH\u00a0RELATIVE\u00a0@StartRow\u00a0FROM\u00a0PagingCursor\u00a0INTO\u00a0@PK\u00a0
WHILE\u00a0@PageSize\u00a0>\u00a00\u00a0AND\u00a0@@FETCH_STATUS\u00a0=\u00a00\u00a0
BEGIN\u00a0
\u00a0\u00a0\u00a0\u00a0INSERT\u00a0@tblPK(PK)\u00a0VALUES(@PK)\u00a0
\u00a0\u00a0\u00a0\u00a0FETCH\u00a0NEXT\u00a0FROM\u00a0PagingCursor\u00a0INTO\u00a0@PK\u00a0
\u00a0\u00a0\u00a0\u00a0SET\u00a0@PageSize\u00a0=\u00a0@PageSize\u00a0-\u00a01\u00a0
END\u00a0
CLOSE\u00a0PagingCursor\u00a0
DEALLOCATE\u00a0PagingCursor\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0JOIN\u00a0@tblPK\u00a0temp\u00a0ON\u00a0Table.PK\u00a0=\u00a0temp.PK\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u590d\u6742\u67e5\u8be2\u7684\u901a\u7528\u5316
\u6211\u5728\u4e4b\u524d\u6307\u51fa\uff0c\u6240\u6709\u7684\u5b58\u50a8\u8fc7\u7a0b\u90fd\u662f\u7528\u52a8\u6001SQL\u5b9e\u73b0\u901a\u7528\u6027\u7684\uff0c\u56e0\u6b64\uff0c\u7406\u8bba\u4e0a\u5b83\u4eec\u53ef\u4ee5\u7528\u4efb\u4f55\u79cd\u7c7b\u7684\u590d\u6742\u67e5\u8be2\u3002\u4e0b\u9762\u6709\u4e00\u4e2a\u57fa\u4e8eNorthwind\u6570\u636e\u5e93\u7684\u590d\u6742\u67e5\u8be2\u4f8b\u5b50\u3002
DECLARE\u00a0@PK\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0
DECLARE\u00a0@tblPK\u00a0TABLE\u00a0(\u00a0
\u00a0\u00a0\u00a0\u00a0PK\u00a0\/*\u00a0PK\u00a0Type\u00a0*\/\u00a0NOT\u00a0NULL\u00a0PRIMARY\u00a0KEY\u00a0
)\u00a0
DECLARE\u00a0PagingCursor\u00a0CURSOR\u00a0DYNAMIC\u00a0READ_ONLY\u00a0FOR\u00a0
SELECT\u00a0@PK\u00a0FROM\u00a0Table\u00a0ORDER\u00a0BY\u00a0SortColumn\u00a0
OPEN\u00a0PagingCursor\u00a0
FETCH\u00a0RELATIVE\u00a0@StartRow\u00a0FROM\u00a0PagingCursor\u00a0INTO\u00a0@PK\u00a0
WHILE\u00a0@PageSize\u00a0>\u00a00\u00a0AND\u00a0@@FETCH_STATUS\u00a0=\u00a00\u00a0
BEGIN\u00a0
\u00a0\u00a0\u00a0\u00a0INSERT\u00a0@tblPK(PK)\u00a0VALUES(@PK)\u00a0
\u00a0\u00a0\u00a0\u00a0FETCH\u00a0NEXT\u00a0FROM\u00a0PagingCursor\u00a0INTO\u00a0@PK\u00a0
\u00a0\u00a0\u00a0\u00a0SET\u00a0@PageSize\u00a0=\u00a0@PageSize\u00a0-\u00a01\u00a0
END\u00a0
CLOSE\u00a0PagingCursor\u00a0
DEALLOCATE\u00a0PagingCursor\u00a0
SELECT\u00a0\u00a0\u00a0FROM\u00a0Table\u00a0JOIN\u00a0@tblPK\u00a0temp\u00a0ON\u00a0Table.PK\u00a0=\u00a0temp.PK\u00a0\u00a0
ORDER\u00a0BY\u00a0SortColumn\u00a0
\n<\/div>\n
\u590d\u6742\u67e5\u8be2\u7684\u901a\u7528\u5316
\u6211\u5728\u4e4b\u524d\u6307\u51fa\uff0c\u6240\u6709\u7684\u5b58\u50a8\u8fc7\u7a0b\u90fd\u662f\u7528\u52a8\u6001SQL\u5b9e\u73b0\u901a\u7528\u6027\u7684\uff0c\u56e0\u6b64\uff0c\u7406\u8bba\u4e0a\u5b83\u4eec\u53ef\u4ee5\u7528\u4efb\u4f55\u79cd\u7c7b\u7684\u590d\u6742\u67e5\u8be2\u3002\u4e0b\u9762\u6709\u4e00\u4e2a\u57fa\u4e8eNorthwind\u6570\u636e\u5e93\u7684\u590d\u6742\u67e5\u8be2\u4f8b\u5b50\u3002