Ìá¸ßSQLÐÔÄÜ
ÓÐʱ£¬ ΪÁËÈÃÓ¦ÓóÌÐòÔËÐеøü¿ì£¬Ëù×öµÄÈ«²¿¹¤×÷¾ÍÊÇÔÚÕâÀï»òÄÇÀï×öһЩºÜСµ÷Õû¡£°¡£¬µ«¹Ø¼üÔÚÓÚÈ·¶¨ÈçºÎ½øÐе÷Õû£¡³ÙÔçÄú»áÓöµ½ÕâÖÖÇé¿ö£ºÓ¦ÓóÌÐòÖÐµÄ SQL ²éѯ²»Äܰ´ÕÕÄúÏëÒªµÄ·½Ê½½øÐÐÏìÓ¦¡£ËüҪô²»·µ»ØÊý¾Ý£¬ÒªÃ´ºÄ·ÑµÄʱ¼ä³¤µÃ³öÆæ¡£Èç¹ûËü½µµÍÁ˱¨¸æ»òÄúµÄÆóÒµÓ¦ÓóÌÐòµÄËÙ¶È£¬Óû§±ØÐëµÈ´ýµÄʱ¼ä¹ý³¤£¬ËûÃǾͻáºÜ²»ÂúÒâ¡£¾ÍÏñÄúµÄ¸¸Ä¸²»ÏëÌýÄú½âÊÍΪʲôÔÚÉî¸ü°ëÒ¹²Å»ØÀ´Ò»Ñù£¬Óû§Ò²²»»áÌýÄã½âÊÍΪʲô²éѯºÄ·ÑÕâô³¤Ê±¼ä¡££¨“¶Ô²»Æð£¬ÂèÂ裬ÎÒʹÓÃÁËÌ«¶àµÄ LEFT JOIN¡£”£©Óû§Ï£ÍûÓ¦ÓóÌÐòÏìӦѸËÙ£¬ËûÃǵı¨¸æÄܹ»ÔÚ˲¼äÖ®ÄÚ·µ»Ø·ÖÎöÊý¾Ý¡£¾ÍÎÒ×Ô¼º¶øÑÔ£¬Èç¹ûÔÚ Web ÉϳåÀËʱij¸öÒ³ÃæÒªºÄ·ÑÊ®¶àÃë²ÅÄܼÓÔØ£¨ºÃ°É£¬ÎåÃë¸üʵ¼ÊһЩ£©£¬ÎÒÒ²»áºÜ²»ÄÍ·³¡£
ΪÁ˽â¾öÕâЩÎÊÌâ£¬ÖØÒªµÄÊÇÕÒµ½ÎÊÌâµÄ¸ùÔ´¡£ÄÇô£¬´ÓÄÄÀï¿ªÊ¼ÄØ£¿¸ù±¾ÔÒòͨ³£ÔÚÓÚÊý¾Ý¿âÉè¼ÆºÍ·ÃÎÊËüµÄ²éѯ¡£ÔÚ±¾ÔµÄרÀ¸ÖУ¬ÎÒ½«½²ÊöËÄÏî¼¼Êõ£¬ÕâЩ¼¼Êõ¿ÉÓÃÓÚÌá¸ß»ùÓÚ SQL Server? µÄÓ¦ÓóÌÐòµÄÐÔÄÜ»ò¸ÄÉÆÆä¿ÉÉìËõÐÔ¡£ÎÒ½«×Ðϸ˵Ã÷ LEFT JOIN¡¢CROSS JOIN µÄʹÓÃÒÔ¼° IDENTITY ÖµµÄ¼ìË÷¡£Çë¼Çס£¬¸ù±¾Ã»ÓÐÉñÆæµÄ½â¾ö·½°¸¡£µ÷ÕûÄúµÄÊý¾Ý¿â¼°Æä²éѯÐèÒªÕ¼ÓÃʱ¼ä¡¢½øÐзÖÎö£¬»¹ÐèÒª´óÁ¿µÄ²âÊÔ¡£ÕâЩ¼¼Êõ¶¼Òѱ»Ö¤Ã÷ÐÐÖ®ÓÐЧ£¬µ«¶ÔÄúµÄÓ¦ÓóÌÐò¶øÑÔ£¬¿ÉÄÜÆäÖÐһЩ¼¼Êõ±ÈÁíһЩ¼¼Êõ¸üÊÊÓá£
´Ó INSERT ·µ»Ø IDENTITY
ÎÒ¾ö¶¨´ÓÓöµ½Ðí¶àÎÊÌâµÄÄÚÈÝÈëÊÖ£ºÈçºÎÔÚÖ´ÐÐ SQL INSERT ºó¼ìË÷ IDENTITY Öµ¡£Í¨³££¬ÎÊÌâ²»ÔÚÓÚÈçºÎ±àд¼ìË÷ÖµµÄ²éѯ£¬¶øÔÚÓÚÔÚÄÄÀïÒÔ¼°ºÎʱ½øÐмìË÷¡£ÔÚ SQL Server ÖУ¬ÏÂÃæµÄÓï¾ä¿ÉÓÃÓÚ¼ìË÷ÓÉ×îÐÂÔڻÊý¾Ý¿âÁ¬½ÓÉÏÔËÐÐµÄ SQL Óï¾äËù´´½¨µÄ IDENTITY Öµ£º
SELECT @@IDENTITYÕâ¸ö SQL Óï¾ä²¢²»¸´ÔÓ£¬µ«ÐèÒª¼ÇסµÄÒ»µãÊÇ£ºÈç¹ûÕâ¸ö×îÐ嵀 SQL Óï¾ä²»ÊÇ INSERT£¬»òÕßÄúÕë¶Ô·Ç INSERT SQL µÄÆäËûÁ¬½ÓÔËÐÐÁË´Ë SQL£¬Ôò²»»á»ñµÃÆÚÍûµÄÖµ¡£Äú±ØÐëÔËÐÐÏÂÁдúÂë²ÅÄܼìË÷½ô¸úÔÚ INSERT SQL Ö®ºóÇÒλÓÚͬһÁ¬½ÓÉ쵀 IDENTITY£¬ÈçÏÂËùʾ£º
INSERT INTO Products (ProductName) VALUES ('Chalk')
SELECT @@IDENTITYÔÚÒ»¸öÁ¬½ÓÉÏÕë¶Ô Northwind Êý¾Ý¿âÔËÐÐÕâЩ²éѯ½«·µ»ØÒ»¸öÃû³ÆÎª Chalk µÄвúÆ·µÄ IDENTITY Öµ¡£ËùÒÔ£¬ÔÚʹÓà ADO µÄ Visual Basic? Ó¦ÓóÌÐòÖУ¬¿ÉÒÔÔËÐÐÒÔÏÂÓï¾ä£º
Set oRs = oCn.Execute("SET NOCOUNT ON;INSERT INTO Products _
(ProductName) VALUES ('Chalk');SELECT @@IDENTITY")
lProductID = oRs(0)´Ë´úÂë¸æËß SQL Serve
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
Óï¾ä£ºselect rank() over(Order By ±íµÄÖ÷¼ü Desc) As UID ,ÆäËûÁÐ from ±í
˵Ã÷£ºrankº¯Êý
×÷Óãº
·µ»ØÖ¸¶¨Ôª×éÔÚÖ¸¶¨¼¯ÖеÄÅÅÃû£¨ÅÅÃû´Ó 1 ¿ªÊ¼£©
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )
²ÎÊý£º
Tuple_Expression
Ò»¸öÓÐЧµÄ¶àά±í´ïʽ (MDX) Ôª ......
×÷Ϊһ¸öB/S¿ª·¢Õߣ¬»ò¶à»òÉÙ¶¼µÃºÍÊý¾Ý¿â´ò½»µÀ£¬¶ø¶ÔÊý¾Ý¿âµÄ²Ù×÷¹é¸ùµ½µ×¶¼ÊÇqueryÓï¾ä£¬ËùÓе½×îºó¶¼ÊÇΪÁ˲éѯ£¬ÄÇô²é¿´sqlÐÔÄÜÓÖ³ÉÁËÎÒÃÇ¿ª·¢ÖеÄÒ»¼þȤÊ¡£ÏÂÃæ¼òµ¥½éÉÜÏÂsql_traceµÄʹÓãº
alter session set sql_trace =true ;--´ò¿ªsql_trace
select * from (select * from t order by id) where rownum <= ......
Îå¡¢ÉÏ´«ASPľÂí
ËùνASPľÂí£¬¾ÍÊÇÒ»¶ÎÓÐÌØÊ⹦ÄܵÄASP´úÂ룬²¢·ÅÈëWEBÐéÄâĿ¼µÄScriptsÏ£¬Ô¶³Ì¿Í»§Í¨¹ýIE¾Í¿ÉÖ´ÐÐËü£¬½ø¶øµÃµ½ÏµÍ³µÄUSERȨÏÞ£¬ÊµÏÖ¶ÔϵͳµÄ³õ²½¿ØÖÆ¡£ÉÏ´«ASPľÂíÒ»°ãÓÐÁ½ÖֱȽÏÓÐЧµÄ·½·¨£º
1¡¢ÀûÓÃWEBµÄÔ¶³Ì¹ÜÀí¹¦ÄÜ
  ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Äã¶¼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâÆªÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......