sql server2005 rownumͨÓô洢¹ý³Ì·ÖÒ³
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[sp_GetRecordfromPage]
@TableName varchar(350), --±íÃû
@Fields varchar(5000) = '*', --×Ö¶ÎÃû(È«²¿×Ö¶ÎΪ*)
@OrderField varchar(5000), --ÅÅÐò×Ö¶Î(±ØÐë!Ö§³Ö¶à×Ö¶Î)
@sqlWhere varchar(5000) = Null,--Ìõ¼þÓï¾ä(²»ÓüÓwhere)
@pageSize int, --ÿҳ¶àÉÙÌõ¼Ç¼
@pageIndex int = 1, --Ö¸¶¨µ±Ç°ÎªµÚ¼¸Ò³
@distinct VARCHAR(50)=NULL, --È¥³ýÖØ¸´Öµ£¬×¢ÒâÖ»ÄÜÊÇÒ»¸ö×Ö¶Î
@top INT=NULL --²éѯTOP,²»´«ÎªÈ«²¿
AS
BEGIN
Declare @sql nvarchar(4000);
Declare @totalRecord int;
DECLARE @totalPage INT;
--¼ÆËã×ܼǼÊý
IF (@distinct IS NULL OR @distinct='')
BEGIN
IF (@SqlWhere='' OR @sqlWhere IS NULL)
SET @sql = 'select @totalRecord = count(1) from ' + @TableName
ELSE
SET @sql = 'select @totalRecord = count(1) from ' + @TableName + ' where ' + @sqlWhere
END
ELSE
BEGIN
IF (@SqlWhere='' OR @sqlWhere IS NULL)
SET @sql = 'select @totalRecord = count(distinct ' + @distinct + ') from ' + @TableName
ELSE
SET @sql = 'select @totalRecord = count(distinct ' + @distinct + ') from ' + @TableName + ' where ' + @sqlWhere
END
EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--¼ÆËã×ܼǼÊý
IF(@top>0)
BEGIN
--Ö¸¶¨TOP ¼Ç¼
SET @Fields= 'top ' + CAST(@top AS VARCHAR(20)) + ' ' + @Fields;
--Èç¹û×ܼǼÊý³¬¹ýTOPÊý,Éè×ܼÇÂ
Ïà¹ØÎĵµ£º
˵µ½ÊÂÎñ£¬Ê×ÏÈÎÒÃǾÍÒªÖªµÀΪʲôÐèÒªÊÂÎñ£¬Õâ¾ÍÒªÏÈ¿´¿´Ëø»úÖÆµÄÏà¹Ø¸ÅÄ
ËøµÄ¸ÅÊö
Ò». ΪʲôҪÒýÈëËø
¶à¸öÓû§Í¬Ê±¶ÔÊý¾Ý¿âµÄ²¢·¢²Ù×÷ʱ»á´øÀ´ÒÔÏÂÊý¾Ý²»Ò»ÖµÄÎÊÌâ:
¶ªÊ§¸üÐÂ
A,BÁ½¸öÓû§¶ÁͬһÊý¾Ý²¢½øÐÐÐÞ¸Ä,ÆäÖÐÒ»¸öÓû§µÄÐ޸Ľá¹ûÆÆ»µÁËÁíÒ»¸öÐ޸ĵĽá¹û,±ÈÈ綩Ʊϵͳ&nb ......
ºó׺ÃûΪ.mdfµÄsqlÊý¾Ý¿âÈçºÎ´ò¿ª£¿
ÓÐ.mdfºÍ.ldfÁ½¸öÎļþ£¬´ò¿ª·½°¸£º
·½·¨Ò»£ºÔÚSql serverÆóÒµ¹ÜÀíÆ÷ÖÐ - Êý¾Ý¿â - ÓÒ¼ü <¸½¼ÓÊý¾Ý¿â
·½·¨¶þ£ºÔÚVS2005ÖÐÏȽ¨Á¢Ò»¸öÓëÄãÒª´ò¿ªµÄmdfÎļþͬÃûµÄÊý¾Ý¿â£¬¼Çס´æ´¢Î»Öã¬È»ºóÓÃÄãÒª´ò¿ªµÄmdfÎļþ½«¸Õ½¨Á¢µÄmdfÊý¾Ý¿âÎļþÌæ»»¼´¿É¡£ ......
Á¬½Ó²éѯ
¡¡¡¡Í¨¹ýÁ¬½ÓÔËËã·û¿ÉÒÔʵÏÖ¶à¸ö±í²éѯ¡£Á¬½ÓÊǹØÏµÊý¾Ý¿âÄ£Ð͵ÄÖ÷ÒªÌØµã£¬Ò²ÊÇËüÇø±ðÓÚÆäËüÀàÐÍÊý¾Ý¿â¹ÜÀíϵͳµÄÒ»¸ö±êÖ¾¡£
¡¡¡¡ÔÚ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳÖУ¬±í½¨Á¢Ê±¸÷Êý¾ÝÖ®¼äµÄ¹ØÏµ²»±ØÈ·¶¨£¬³£°ÑÒ»¸öʵÌåµÄËùÓÐÐÅÏ¢´æ·ÅÔÚÒ»¸ö±íÖС£µ±¼ìË÷Êý¾Ýʱ£¬Í¨¹ýÁ¬½Ó²Ù×÷²éѯ³ö´æ·ÅÔÚ¶à¸ö±íÖеIJ»Í¬ÊµÌåµÄ ......
˼·:SQLÀᄀ¿ÉÄܵIJÉÓÃÁ½¸öÒýºÅ±ÕºÏ±äÁ¿;¶Ô±äÁ¿ÖеÄÒýºÅתÒå;¶Ô²»ÄܲÉÓÃ2¸öÒýºÅ±ÕºÏµÄ±äÁ¿,ÏÈÔ¤ÏÈÅжϱäÁ¿ÀàÐÍ;
·½°¸:
1 ËùÓзÇÊýÖµÔËËã(Èç×Ö·û,¼òµ¥ÊýÖµÐ͵ȵÈ)µÄSQL±äÁ¿¶¼¼ÓÒýºÅ;
2 ËùÓзÇÊýÖµÔËËãµÄSQL±äÁ¿µÄÖµ¶¼²ÉÓÃmagic_quotes_gpc» ......