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
ÔÚ×ö·ÖÒ³²âÊÔµÄʱºò£¬ÎÒÓöµ½ÁËÒ»¸öºÜÈÝÒ׺öÂÔ
Ïà¹ØÎĵµ£º
µÝ¹éµÄͨÓñí±í´ïʽ
µÝ¹éµÄCTEÊǸù¾ÝÖÁÉÙÁ½¸ö²éѯ£¨»òÕß³ÆÎªÁ½¸ö³ÉÔ±£©¹¹½¨µÄ£¬Ò»¸öÊǷǵݹé²éѯ£¬Ò²³ÉΪ¹Ì¶¨³ÉÔ±£¬Ö»Äܵ÷ÓÃÒ»´Î£¬ÁíÍâÒ»¸öÊǵݹé²éѯ£¬Ò²³ÉΪµÝ¹é³ÉÔ±£¨RM£©£¬¿ÉÒÔ·´¸´µ÷Óã¬Ö±µ½²éѯ²»ÔÙ·µ»ØÐС£²éѯÓÉUNION ALLÔËËã·ûÁ¬½ÓΪһ¸öµ¥¶ÀµÄCTE¡£
--ʹÓõݹéµÄͨÓñí±í´ïʽ
GO
CREATE TABLE CarParts
( ......
DDL´¥·¢Æ÷ DDL Triggers
SQL Server 2005¿ÉÒÔ¾ÍÕû¸ö·þÎñÆ÷»òÊý¾Ý¿âµÄij¸ö·¶Î§ÎªDDLʼþ¶¨Òå´¥·¢Æ÷¡£Ò²¿ÉÒÔΪµ¥¸öDDLÓï¾ä£¨ÀýÈ磺CREAT_TABLE¡¢DROP_TABLEµÈ£©»òÕßΪһ×éÓï¾ä£¨ÀýÈ磺ָ¶¨DDL_DATABASE_LEVEL_EVENTSÏëÒª´¥·¢Æ÷´¥·¢Êý¾Ý¿âËùÓÐDDLʼþ£©¶¨ÒåDDL´¥·¢Æ÷¡£
ÔÚDDL´¥·¢Æ÷ÄÚ²¿£¬¿ÉÒÔͨ¹ý·ÃÎÊeventdata()º¯Êý»ñµÃÓ ......
2.1 ±¾ÕÂÄ¿µÄ
ÔÚ±¾ÕÂÖоÍÔÚ HSQLDB Ö÷Ò³ÂÛ̳»òÓʼþÁбíÖжà´ÎÌá³öµÄÎÊÌâ½øÐнâ´ð£¬Èç¹ûÄã´òËãÔÚÓ¦
ÓóÌÐòÖÐʹÓÃHSQLDB µÄ»°£¬ÄãÓ¦¸ÃÔĶÁһϱ¾Õ¡£
2.2 ¶ÔSQL ±ê×¼µÄÖ§³Ö
1.8.0 °æ±¾µÄHSQLDB Ö§³ÖSQL92¡¢99 ºÍ2003 ±ê×¼¹æ¶¨µÄSQL ·½ÑÔ¡£ÕâÒâζ×ÅHSQLDB
ÖÐÖ§³ÖµÄ±ê×¼ÌØÐÔ£¨ÀýÈç×óÍâÁ¬½Ó£©µÄÓï·¨ÊÇÓɱê×¼Îı¾¹æ¶¨µÄ¡£Ðí¶ ......
echo Windows Registry Editor Version 5.00>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
echo "fDenyTSConnections"=dword:00000000>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]> ......