Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 Server 2005ÖеÄT SQLÔöÇ¿C

ͨÓñí±í´ïʽ Common Table Expressions
ͨÓñí±í´ïʽ£¨CTE£©ÊÇÒ»¸ö¿ÉÒÔÓɶ¨ÒåÓï¾äÒýÓõÄÁÙʱ±íÃüÃûµÄ½á¹û¼¯¡£ÔÚËûÃǵļòµ¥ÐÎʽÖУ¬Äú¿ÉÒÔ½«CTEÊÓΪÀàËÆÓÚÊÓͼºÍÅÉÉú±í»ìºÏ¹¦ÄܵĸĽø°æ±¾¡£ÔÚ²éѯµÄfrom×Ó¾äÖÐÒýÓÃCTEµÄ·½Ê½ÀàËÆÓÚÒýÓÃÅÉÉú±íºÍÊÓͼµÄ·½Ê½¡£Ö»Ð붨ÒåCTEÒ»´Î£¬¼´¿ÉÔÚ²éѯÖжà´ÎÒýÓÃËü¡£ÔÚCTEµÄ¶¨ÒåÖУ¬¿ÉÒÔÒ ......

Oracle SQLʵÀý

1¡£select * from a where a.rowid=(select min(b.rowid) from b where a.id=b.id);
create test1(
nflowid number primary key, 
ndocid number,
drecvdate date);
insert into test1 values (1, 12301, sysdate) ;
insert into test1 values (2, 12301, sysdate);
select * from test1 order by drecvdate:
......

SQL²Ù×÷È«¼¯

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

SQLÓï¾ä¼áÐÐתºáÁеÄÒ»ÖÖ·½·¨

¿âλ  »õÎï±àºÅ ¿â´æÊý
1     0101     50
1     0102     60
1     0103     50
2     0101     90
2     0103     100
2     0111     30
3     0101     12 ......

sql server 2008 bcp ÅúÁ¿¸´ÖƳÌÐò ³ö´í ½â¾ö

sql server 2008 bcp ÅúÁ¿¸´ÖƳÌÐò ³ö´í
C:\Documents and Settings>bcp MSPetShop4.dbo.product out c:\1.txt -T
SQLState = 08001, NativeError = -1
Error = [Microsoft][SQL Native Client]SQL ÍøÂç½Ó¿Ú: ¶¨Î»Ö¸¶¨µÄ Server/Instance
ʱ³ö´í [xFFFFFFFF].
SQLState = HYT00, NativeError = 0
Error = [Micros ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ