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

SQL 2005 ´æ´¢¹ý³Ì·ÖÒ³

create PROCEDURE [dbo].[P_PageTest]
    @SQL Nvarchar(max),  --SQLÓï¾ä²»°üÀ¨ÅÅÐò
    @CurPage int,    --µ±Ç°Ò³
    @PageRows int,    --Ò³Ãæ³ß´ç
 @Order Nvarchar(20),  --ÅÅÐò×Ö¶Î
 @OrderType Nvarchar(10), --ÅÅÐòÀàÐ͵¹Ðòdesc»òÕýÐòasc
    @TotalRecorder int output
AS
BEGIN
    SET NOCOUNT ON;
    declare @ExceSQL nvarchar(4000)
    --ÉèÖÿªÊ¼ÐкÅ
    declare  @start_row_num AS int
 declare  @end_row_num AS int
 if(@CurPage=1)
  begin
  SET @start_row_num = (@CurPage - 1) * @PageRows
  SET @end_row_num = @start_row_num+@PageRows
  end
 else
  begin
  SET @start_row_num = ((@CurPage - 1) * @PageRows)+1
  SET @end_row_num = (@start_row_num+@PageRows)-1
  end
    --ÉèÖñíʾ
    declare @RowNumber nvarchar(100)
    set @RowNumber = ', ROW_NUMBER() OVER(ORDER BY ' + @Order +' '+ @OrderType + ') as RowNumber from '
    set @SQL = Replace(@SQL,' from ',@RowNumber)
    --»ñµÃ×ܼǼÊý
    set @ExceSQL = 'WITH tmp AS (' + @SQL + ')
        select @TotalRecorder=max(RowNumber) from tmp'
    execute sp_executesql @ExceSQL,N'@TotalRecorder int output',@TotalRecorder output
    --²éѯÓï¾ä
    set @ExceSQL = 'WITH tmp AS (' + @SQL + ')
        select * from tmp where RowNumber between ' + Convert(nvarchar,@start_row_num)
        + ' And ' + Convert(nvarchar,@end_row_num)
    execute(@ExceSQL)
END


Ïà¹ØÎĵµ£º

Ìí¼ÓÊý¾ÝÔ´²¢ÅäÖÃÊý¾ÝÔ´Óësql ServerÉí·ÝÑé֤ģʽ

      ÔÚÊý¾Ý¿âÓ¦ÓóÌÐò·¢²¼Ê±£¬¿Í»§¶Ë°²×°ÔÚ¾ÖÓòÍøÖеÄÖ÷»úAÉÏ£¬sql server °²×°ÔڸþÖÓòÍøµÄÖ÷»úBÉÏ¡£¿Í»§¶ËÈí¼þÖаüº¬ÓÐËüÒªÁ¬½ÓµÄÊý¾Ý¿âµÄÐÅÏ¢¡£ÈçÊý¾ÝÔ´£¬·þÎñÆ÷Ãû³Æ£¬Êý¾Ý¿âµÈ£¬ÊµÀý£ºdata source=SQLOLEDB;SERVER=DongZi\sqlExpress;uid=sa;pwd=123;database=MachineRoom
¡£ÄÇôÎÒÃÇÔÚÖ÷» ......

SQL ÓïÑÔµÄËÄ´ó×é³É²¿·Ö DQL DML DDL DCL

SQL(Structure Query Language)ÓïÑÔÊÇÊý¾Ý¿âµÄºËÐÄÓïÑÔ¡£
SQLµÄ·¢Õ¹ÊÇ´Ó1974Ä꿪ʼµÄ£¬Æä·¢Õ¹¹ý³ÌÈçÏ£º
1974Äê-----ÓÉBoyceºÍChamberlinÌá³ö£¬µ±Ê±³ÆSEQUEL¡£
1976Äê-----IBM¹«Ë¾µÄSanjaseÑо¿ËùÔÚÑÐÖÆRDBMS SYSTEM Rʱ¸ÄΪSQL¡£
1979Äê-----ORACLE¹«Ë¾·¢±íµÚÒ»¸ö»ùÓÚSQLµÄÉÌÒµ»¯RDBMS²úÆ·¡£
1982Äê-----IBM¹«Ë¾³ö°æµ ......

SQL²éѯЧÂÊ 100wÊý¾Ý²éѯֻҪ1Ãë

»úÆ÷Çé¿ö
p4: 2.4
ÄÚ´æ: 1 G
os: windows 2003
Êý¾Ý¿â: ms sql server 2000
Ä¿µÄ: ²éѯÐÔÄܲâÊÔ,±È½ÏÁ½ÖÖ²éѯµÄÐÔÄÜ
SQL²éѯЧÂÊ step by step
-- setp 1.
-- ½¨±í
create table t_userinfo
(
userid int identity(1,1) primary key nonclustered,
nick&nbs ......

SQL²Ù×÷È«¼¯


SQL²Ù×÷È«¼¯
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREA ......

¡¾¸Äб¹éÕý¡¿ sqlserver sql ·ÖÒ³Óï¾ä

      ÔÚGoogleÉÏʹÓÓsql ·ÖÒ³”¹Ø¼ü×Ö½øÐÐËÑË÷£¬¼¸ºõËùÓеĴ𰸶¼ÊÇÄÇÈýÌõ¡£Æä¶þЧÂÊ×î¸ß£¬ÆäÈýʹÓÃÓα꣬ЧÂÊ×î²î¡£
      ÏÂÃæÊÇÄÇÈýÖÖ·½·¨ £¨²åÈë´úÂëûÓÐsqlÑ¡Ï
·½·¨1£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ