ÈçºÎɾ³ý 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
Ïà¹ØÎĵµ£º
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......
¿Î³ÌÈý ´Ó¶à¸ö±íÖÐÌáÈ¡Êý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢SELECT from ¶à¸ö±í£¬Ê¹ÓõÈÁ¬½Ó»ò·ÇµÈÁ¬½Ó
¡¡¡¡2¡¢Ê¹ÓÃÍâÁ¬½ÓOUTER JOIN
¡¡¡¡3¡¢Ê¹ÓÃ×ÔÁ¬½Ó
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡Ò»¡¢Á¬½ÓµÄ¸ÅÄ
¡¡¡¡
¡¡¡¡ÊÇÖ¸Ò»¸ö´Ó¶à¸ö±íÖеÄÊý¾Ý½øÐеIJéѯ¡£Á¬½ÓÒ»°ãʹÓñíµÄÖ÷¼üºÍÍâ¼ü¡£
¡¡¡¡Á¬½ÓÀàÐÍ£º
¡¡ ......
¿Î³Ì°Ë Óû§·ÃÎÊ¿ØÖÆ
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢´´½¨Óû§
¡¡¡¡2¡¢´´½¨½ÇÉ«À´½øÐа²È«ÉèÖÃ
¡¡¡¡3¡¢Ê¹ÓÃGRANT»òREVOKE À´¿ØÖÆȨÏÞ
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡ORACLEͨ¹ýÓû§ÃûºÍÃÜÂë½øÐÐȨÏÞ¿ØÖÆ¡£
¡¡¡¡Êý¾Ý¿â°²È«£ºÏµÍ³°²È«ºÍÊý¾Ý°²È«
¡¡¡¡ÏµÍ³È¨ÏÞ£ºÊ¹Óû§¿É ......
¿Î³Ì¾Å ÉùÃ÷±äÁ¿
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽â»ù±¾µÄPLSQL¿éºÍÇøÓò
¡¡¡¡2¡¢ÃèÊö±äÁ¿ÔÚPLSQLÖеÄÖØÒªÐÔ
¡¡¡¡3¡¢Çø±ðPLSQLÓë·ÇPLSQL±äÁ¿
¡¡¡¡4¡¢ÉùÃ÷±äÁ¿
¡¡¡¡5¡¢Ö´ÐÐPLSQL¿é
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡1¡¢PLSQL ¿é½á¹¹£º
¡¡¡¡DECLARE --- ¿ÉÑ¡
¡¡¡¡±äÁ¿Éù ......
¿Î³ÌÊ® дִÐÐÓï¾ä
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽âPLSQLÖ´ÐÐÇø¼äµÄÖØÒªÐÔ
¡¡¡¡2¡¢Ð´Ö´ÐÐÓï¾ä
¡¡¡¡3¡¢ÃèÊöǶÌ׿éµÄ¹æÔò
¡¡¡¡4¡¢Ö´ÐÐÇÒ²âÊÔPLSQL¿é
¡¡¡¡5¡¢Ê¹ÓôúÂë¹ßÀý
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢PLSQL ¿éµÄÓï·¨¹æÔò£º
¡¡¡¡1¡¢Óï¾ä¿ÉÒÔ¿çÔ¾¼¸ÐС£
¡¡¡¡2¡¢´Ê»ãµ¥Ôª¿ÉÒÔ°ü ......