ÈçºÎɾ³ý SQL Server ±íÖеÄÖØ¸´ÐÐ
Microsoft SQL Server ±í²»Ó¦¸Ã°üº¬Öظ´ÐкͷÇΨһÖ÷¼ü¡£Îª¼ò½àÆð¼û£¬ÔÚ±¾ÎÄÖÐÎÒÃÇÓÐʱ³ÆÖ÷¼üΪ“¼ü”»ò“PK”£¬µ«ÕâʼÖÕ±íʾ“Ö÷¼ü”¡£Öظ´µÄ PK Î¥·´ÁËʵÌåÍêÕûÐÔ£¬ÔÚ¹ØÏµÏµÍ³ÖÐÊDz»ÔÊÐíµÄ¡£SQL Server Óи÷ÖÖÇ¿ÖÆÖ´ÐÐʵÌåÍêÕûÐԵĻúÖÆ£¬°üÀ¨Ë÷Òý¡¢Î¨Ò»Ô¼Êø¡¢Ö÷¼üÔ¼ÊøºÍ´¥·¢Æ÷¡£
¾¡¹ÜÈç´Ë£¬ÔÚijЩÇé¿öÏ»¹¿ÉÄÜ»á³öÏÖÖØ¸´µÄÖ÷¼ü;Èç¹û³öÏÖ´ËÀàÇé¿ö£¬¾Í±ØÐëÇå³ýÖØ¸´Ö÷¼ü¡£³öÏÖÖØ¸´Ö÷¼üµÄÇéÐÎÖ®Ò»ÊÇ£¬ÔÚ SQL Server ÍⲿµÄ·Ç¹ØÏµÊý¾ÝÖдæÔÚÖØ¸´µÄ PK£¬ÔÚµ¼ÈëÕâЩÊý¾ÝʱûÓÐÇ¿ÖÆÖ´ÐÐ PK ΨһÐÔ¡£³öÏÖÖØ¸´Ö÷¼üµÄÁíÒ»ÖÖÇéÐÎÀ´×ÔÊý¾Ý¿âÉè¼Æ´íÎó£¬ÈçûÓжÔÿÕűíÇ¿ÖÆÖ´ÐÐʵÌåÍêÕûÐÔ¡£
¡¡¡¡Í¨³£ÔÚ³¢ÊÔ´´½¨Î¨Ò»Ë÷Òýʱ»á·¢ÏÖÖØ¸´µÄ PK£¬ÒòΪÈç¹ûÕÒµ½Öظ´µÄ¼ü£¬Î¨Ò»Ë÷ÒýµÄ´´½¨¼´»áÖÐÖ¹£¬²¢ÇÒ½«ÏÔʾÒÔÏÂÏûÏ¢£º
¡¡¡¡Msg 1505, Level 16, State 1 Create unique index aborted on duplicate key.
¡¡¡¡Èç¹ûʹÓõÄÊÇ SQL Server 2000 »ò SQL Server 2005£¬Ôò»áÊÕµ½ÒÔÏ´íÎóÏûÏ¢£º
¡¡¡¡Msg 1505, Level 16, State 1 CREATE UNIQUE INDEX terminated because a duplicate key was found for object name '%.*ls' and index name '%.*ls'.The duplicate key value is %ls.
¡¡¡¡±¾ÎÄÌÖÂÛÈçºÎ²éÕÒºÍɾ³ý±íÖÐÖØ¸´µÄÖ÷¼ü¡£µ«ÊÇ£¬ÄúÓ¦¸Ã×Ðϸ¼ì²é³öÏÖÖØ¸´¼üµÄ½ø³ÌÒÔ±ÜÃâÖØ¸´³öÏÖ¡£
¡¡¡¡¸ü¶àÐÅÏ¢
¡¡¡¡ÔÚ¸ÃʾÀýÖУ¬ÎÒÃǽ«Ê¹ÓÃÏÂ±í£¬Ëü¾ßÓÐÖØ¸´µÄ PK Öµ¡£ÔڸñíÖУ¬Ö÷¼üÊÇÁ½ÁÐ(col1¡¢col2)¡£ÎÒÃÇÎÞ·¨´´½¨Î¨Ò»Ë÷Òý»òÖ÷¼üÔ¼Êø£¬ÒòΪÕâÁ½ÐоßÓÐÖØ¸´µÄ PK¡£¸Ã¹ý³ÌÑÝʾÈçºÎʶ±ðºÍɾ³ýÖØ¸´µÄÖ÷¼ü¡£
¡¡¡¡create table t1(col1 int, col2 int, col3 char(50))
¡¡¡¡insert into t1 values (1, 1, 'data value one')
¡¡¡¡insert into t1 values (1, 1, 'data value one')
¡¡¡¡insert into t1 values (1, 2, 'data value two')
¡¡¡¡µÚÒ»²½ÊÇʶ±ðÄÄЩÐоßÓÐÖØ¸´µÄÖ÷¼üÖµ£º
¡¡¡¡SELECT col1, col2, count(*)
¡¡¡¡from t1
¡¡¡¡GROUP BY col1, col2
¡¡¡¡HAVING count(*) > 1
¡¡¡¡Õ⽫Ϊ±íÖеÄÿ×éÖØ¸´µÄ PK Öµ·µ»ØÒ»ÐС£´Ë½á¹ûÖеÄ×îºóÒ»ÁÐÊÇÌØ¶¨ PK ÖµµÄÖØ¸´Êý¡£
¡¡¡¡col1c
Ïà¹ØÎĵµ£º
¡¾SQL SERVER Êý¾Ý¿âʵÓÃSQLÓï¾ä¡¿
1.°´ÐÕÊϱʻÅÅÐò:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.·ÖÒ³SQLÓï¾ä
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from ±íÃû As tab) As t where rownum between ÆðʼλÖà And ½áÊøÎ»ÖÃ
......
¿Î³ÌÈý ´Ó¶à¸ö±íÖÐÌáÈ¡Êý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢SELECT from ¶à¸ö±í£¬Ê¹ÓõÈÁ¬½Ó»ò·ÇµÈÁ¬½Ó
¡¡¡¡2¡¢Ê¹ÓÃÍâÁ¬½ÓOUTER JOIN
¡¡¡¡3¡¢Ê¹ÓÃ×ÔÁ¬½Ó
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢Á¬½ÓµÄ¸ÅÄ
¡¡¡¡
¡¡¡¡ÊÇÖ¸Ò»¸ö´Ó¶à¸ö±íÖеÄÊý¾Ý½øÐеIJéѯ¡£Á¬½ÓÒ»°ãʹÓñíµÄÖ÷¼üºÍÍâ¼ü¡£
¡¡¡¡Á¬½ÓÀàÐÍ£º
¡¡ ......
×îºóÒ»¿Î Òì³£´¦Àí±¾ÕÂÖØµã£º
¡¡¡¡
¡¡¡¡1¡¢¶¨ÒåPLSQLÒì³£
¡¡¡¡2¡¢Áоٲ»Í¬µÄÒì³£´¦Àí·½·¨
¡¡¡¡3¡¢²¶»ñ·ÇÔ¤ÆÚµÄ´íÎó
¡¡¡¡4¡¢ÃèÊöÒì³£µÄÓ°Ïì
¡¡¡¡5¡¢¶¨ÖÆÒì³£µÄ·µ»ØÐÅÏ¢¡¡¡¡Ò»¡¢PLSQLÒì³£´¦Àí
¡¡¡¡Òì³£ÊÇÓÉORACLE´íÎó»òÏÔʽµÄÅ׳öÒ»¸ö´íÎó²úÉúµÄ¡£
¡¡¡¡ÈçºÎ´¦Àí£º
¡¡¡¡ÓÃÒ»¸ö´¦Àí³ÌÐòÀ´²¶»ñËü£»
¡¡¡¡½«Ëü´«µÝ ......
ʹÓà LIKE µÄģʽƥÅä
µ±ËÑË÷ datetime ֵʱ£¬ÍƼöʹÓà LIKE£¬ÒòΪ datetime Ïî¿ÉÄܰüº¬¸÷ÖÖÈÕÆÚ²¿·Ö¡£ÀýÈ磬Èç¹û½«Öµ 19981231 9:20 ²åÈëµ½ÃûΪ arrival_time µÄÁÐÖУ¬Ôò×Ó¾ä WHERE arrival_time = 9:20 ½«ÎÞ·¨ÕÒµ½ 9:20 ×Ö·û´®µÄ¾«È·Æ¥Å䣬ÒòΪ SQL Server ½«Æäת»»Îª 1900 Äê 1 Ô 1 ÈÕÉÏÎ ......
ǰ¶Îʱ¼ä °Ñ֮ǰµÄÎÞÏÞ·Ö¼¶±íÉÔ΢×öÁËһЩ¸Ä½ø ¸Ä½øºóµÄ±í½á¹¹ÈçÏÂ
ID Name ParentID ParentIDList level
1 A 0 0-1 &nbs ......