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

sqlµÄ¼¸¸öÅÅÐòº¯Êý

1ÓÃÓÚÅÅÐòµÄº¯Êý
row_number()
rank()
dense_rank()
ntile(group_number)
ÏÂÃæÁоÙÕâ¸öº¯ÊýµÄÓ÷¨£º
row_number()º¯ÊýÒ»°ãÓÃÓÚ×éÄÚÅÅÐò£¬¶øÆäËûÈý¸öº¯ÊýÊǶԽá¹û¼¯ÅÅÐò
Àý×Ó£º·ÖÒ³ÅÅÐò
<!--×¢ÒâÈ«¾Ö±äÁ¿Ò²ÔÚÕâÀïÉùÃ÷£¬²¢ÓöººÅ¸ô¿ª-->
create proc MyDividePageSort @iRowCount int ,@iPageNo int
AS
<!--¾Ö²¿±äÁ¿ÔÚÕâÀïÉùÃ÷,²¢Òª²ÉÓùؼü×Ö-->
declare @iMax int,@strSql nvarchar(100)
<!-²¢ÔÚÕâÀ︳ֵ¸øÏàÓ¦µÄ±äÁ¿£¬ÒòΪÊǾֲ¿±äÁ¿,ËùÒÔ±ØÐ븳ֵ£¬µ«ÊÇÈ«¾Ö±äÁ¿µÄ»°£¬¿ÉÒÔÊÖ¶¯¸³Öµ,Óï¾äÖ®¼ä²»Ó÷ָôºÅ£¬µ«ÊǶÀÁ¢µÄÖ´ÐÐÓï¾ä¾Í±ØÐë²ÉÓÃgo->
set @iMax = @iPageNo * iRowCount
set @strSql = '
select * from (select top('+convert(nvarchar(10),@iRowCount)+' * from 
( select top '+convert(nvarchar(10),@iMax)+' row_number() over(order by id asc) rownumber, * form [pc.pt ]order by id asc ) pcmax order by id desc )pcmin order by id asc    ) '
<!--Ö´ÐÐ-->
exec(@strSql)
go
Õâ¸öÊÇ2000µÄ¹ý³Ì£¬´ÓÖÐÎÒÃDZØÐë¿ÉÒÔÇå³þÁ˽⼸µã:
1¹ûÒ»¸ö±äÁ¿±»ÉêÃ÷Ϊstring(nvarchar()),ÄÇôÈç¹ûÒª¸Ã¿É±äµÄunicode×Ö·û´®ÀïÃæµÄ±äÁ¿³É¹¦±»¸³ÖµµÄ»°¾Í±ØÐëʹÓ㺑++‘
2»¹Òª¸Ä±ä¸Ã±äÁ¿µÄÀàÐÍconvert(nvarchar(10),@iMax),Èç¹ûÕâÀïÖ±½Ó²ÉÓÃ'+@iMax+'»á±¨select top (' ת»»³ÉÊý¾ÝÀàÐÍ int ʱʧ°Ü')
ÕâÀïΪʲôҪÓÃconvert£ºÒòΪÈç¹ûÖ±½ÓÓÃ@IMaxµÄ»°£¬Ï൱ÓÚ½«±äÁ¿@IMaxת»»³ÉÕûÊý£¬ÔÚ³ÌÐòÀïÃæÎÒÃÇ¿ÉÒÔÕâÑùд
select top “+varivant+"* from table;
ÏÂÃæÊÇ2005µÄ·ÖÒ³¶¯×÷
create proc mydividePages @iRowcount  int ,@iPageNo int
AS
select * from (select row_number() over(order by id asc )  row,* from sp ) orderdata where row between @ipageNo * @iRowCoount +1 and (@ipageNo +1) * iRowCount;
ÕâÀïµÄÒâ˼¾ÍÊÇ£º´ÓÖ¸¶¨ÆðʼµÄrow±íÖÐselect³ö½á¹û¼¯À´
ÐèҪעÒâµÄÒ»µã¾ÍÊÇorderdata£¬ÕâÀï±ØÐëÒª±ðÃû£¬ÒòΪsqlÀïÃæÖ»ÓÐÌØÊâµÄº¯Êý²ÅÔÊÐí½«2¸öÖ´ÐÐÓï¾ä·ÅÔÚÒ»Æð£¬±ÈÈçexists£¬ÓбÈÈçin£¬¼ÓÉϱðÃûµÄÒâ˼¾ÍÊÇÏ൱ÓÚÒ»¸öÁÙʱ±í£¬ÕâÀïÓв»µÃ²»ÌáÒ»ÏÂCTE²éѯ
with tempCte
{
    one statement can run off its own bat(independently);
}
next ,we can use the tempCte
ÔÚ×ö·ÖÒ³²âÊÔµÄʱºò£¬ÎÒÓöµ½ÁËÒ»¸öºÜÈÝÒ׺öÂÔ


Ïà¹ØÎĵµ£º

SQL²Ù×÷È«¼¯

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

SQL Server 2005ÖеÄT SQLÔöÇ¿D

µÝ¹éµÄͨÓñí±í´ïʽ
µÝ¹éµÄCTEÊǸù¾ÝÖÁÉÙÁ½¸ö²éѯ£¨»òÕß³ÆÎªÁ½¸ö³ÉÔ±£©¹¹½¨µÄ£¬Ò»¸öÊǷǵݹé²éѯ£¬Ò²³ÉΪ¹Ì¶¨³ÉÔ±£¬Ö»Äܵ÷ÓÃÒ»´Î£¬ÁíÍâÒ»¸öÊǵݹé²éѯ£¬Ò²³ÉΪµÝ¹é³ÉÔ±£¨RM£©£¬¿ÉÒÔ·´¸´µ÷Óã¬Ö±µ½²éѯ²»ÔÙ·µ»ØÐС£²éѯÓÉUNION ALLÔËËã·ûÁ¬½ÓΪһ¸öµ¥¶ÀµÄCTE¡£
--ʹÓõݹéµÄͨÓñí±í´ïʽ
GO
CREATE TABLE CarParts
( ......

SQL Server 2005ÖеÄT SQLÔöÇ¿F

DDL´¥·¢Æ÷ DDL Triggers
SQL Server 2005¿ÉÒÔ¾ÍÕû¸ö·þÎñÆ÷»òÊý¾Ý¿âµÄij¸ö·¶Î§ÎªDDLʼþ¶¨Òå´¥·¢Æ÷¡£Ò²¿ÉÒÔΪµ¥¸öDDLÓï¾ä£¨ÀýÈ磺CREAT_TABLE¡¢DROP_TABLEµÈ£©»òÕßΪһ×éÓï¾ä£¨ÀýÈ磺ָ¶¨DDL_DATABASE_LEVEL_EVENTSÏëÒª´¥·¢Æ÷´¥·¢Êý¾Ý¿âËùÓÐDDLʼþ£©¶¨ÒåDDL´¥·¢Æ÷¡£
ÔÚDDL´¥·¢Æ÷ÄÚ²¿£¬¿ÉÒÔͨ¹ý·ÃÎÊeventdata()º¯Êý»ñµÃÓ ......

ÍêÈ«Ð¶ÔØSQL Server 2005

 
1.ÐèÒªÒ»ÖÖÏÂÔØÐ¶ÔØ¹¤¾ß£¬ÕâÀïÑ¡Ôñ΢Èí¹Ù·½ÌṩµÄ¹¤¾ß(msicuu2.exe)
http://support.microsoft.com/default.aspx?kbid=290301
 
2.ʹÓÃÐ¶ÔØ¹¤¾ßÐ¶ÔØËùÓÐSQL Server·þÎñºÍÏà¹Ø×é¼þ(×¢Òâ£ºÐ¶ÔØÇ°ÒªÏÈÍ£Ö¹¶ÔÓ¦µÄ·þÎñ£¬·ñÔò¿ÉÄÜÐ¶ÔØÊ§°Ü)
 
3.ɾ³ýC:\WINDOWS\inf ÏÂËùÓÃÎļþ(ÎÒÊÇÔÚ¸ÃÎļþ¼ÐÏÂËÑË÷&ldquo ......

SQL ÐÐÊýµÄÑ¡Ôñ

OracleÊý¾Ý¿â
SELECT
    *
from
(
    SELECT
        ROWNUM AS NO_ROW
        ,row_.*
    from
    (
        SELECT
 &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ