Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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Êý,Éè×ܼÇÂ


Ïà¹ØÎĵµ£º

SQL¸½¼ÓÊý¾Ý¿âºó,Êý¾Ý¿âÊÇÖ»¶ÁµÄ

 ·½·¨Ò»  
   
  1.н¨Ò»¸öͬÃûµÄÊý¾Ý¿â  
   
  2.ÔÙÍ£µôsql   server(×¢Òâ²»Òª·ÖÀëÊý¾Ý¿â)  
   
  3.ÓÃÔ­Êý¾Ý¿âµÄÊý¾ÝÎļþ¸²¸ÇµôÕâ¸öн¨µÄÊý¾Ý¿â  
   
  ......

SQL¶¯Ì¬¼ÆËã³ö±íÖй«Ê½Ê¾Àý

##################################################
#        ÉùÃ÷£º
#        ±¾ÎÄת×ÔCSDN£¬Óû§ID£ºhtl258
#        Ô­ÌûµØÖ·£ºhttp://blog.csdn.net/htl258/archive/2010/05/13/5588454.aspx
####### ......

ʹÓÃ×Ô¶¨Òå±íÀàÐÍ£¨SQL Server 2008£©

##################################################
#        ÉùÃ÷£º
#        ±¾ÎÄת×ÔCSDN£¬Óû§ID£ºhtl258
#        Ô­ÌûµØÖ·£ºhttp://blog.csdn.net/htl258/archive/2010/04/28/5537432.aspx
####### ......

SQL Server 2008ÖеıíÖµÐͲÎÊý

##################################################
#        ÉùÃ÷£º
#        ±¾ÎÄת×ÔCSDN£¬Óû§ID£ºhtl258
#        Ô­ÌûµØÖ·£ºhttp://blog.csdn.net/htl258/archive/2010/04/28/5537416.aspx
####### ......

SQL Á¬½Ó²éѯ£¨ÄÚÁ´½Ó ÍâÁ¬½Ó£©


Á¬½Ó²éѯ 
¡¡¡¡Í¨¹ýÁ¬½ÓÔËËã·û¿ÉÒÔʵÏÖ¶à¸ö±í²éѯ¡£Á¬½ÓÊǹØÏµÊý¾Ý¿âÄ£Ð͵ÄÖ÷ÒªÌØµã£¬Ò²ÊÇËüÇø±ðÓÚÆäËüÀàÐÍÊý¾Ý¿â¹ÜÀíϵͳµÄÒ»¸ö±êÖ¾¡£ 
¡¡¡¡ÔÚ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳÖУ¬±í½¨Á¢Ê±¸÷Êý¾ÝÖ®¼äµÄ¹ØÏµ²»±ØÈ·¶¨£¬³£°ÑÒ»¸öʵÌåµÄËùÓÐÐÅÏ¢´æ·ÅÔÚÒ»¸ö±íÖС£µ±¼ìË÷Êý¾Ýʱ£¬Í¨¹ýÁ¬½Ó²Ù×÷²éѯ³ö´æ·ÅÔÚ¶à¸ö±íÖеIJ»Í¬ÊµÌåµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ