ʹÓÃ×Ô¶¨Òå±íÀàÐÍ£¨SQL Server 2008£©
##################################################
# ÉùÃ÷£º
# ±¾ÎÄת×ÔCSDN£¬Óû§ID£ºhtl258
# ÔÌûµØÖ·£ºhttp://blog.csdn.net/htl258/archive/2010/04/28/5537432.aspx
##################################################
http://tech.ddvip.com 2009Äê09ÔÂ19ÈÕ À´Ô´£º²©¿ÍÔ° ×÷Õߣº³ÂÏ£ÕÂ
¡¡¡¡ÔÚ SQL Server 2008 ÖУ¬Óû§¶¨Òå±íÀàÐÍÊÇÖ¸Óû§Ëù¶¨ÒåµÄ±íʾ±í½á¹¹¶¨ÒåµÄÀàÐÍ¡£Äú¿ÉÒÔʹÓÃÓû§¶¨Òå±íÀàÐÍΪ´æ´¢¹ý³Ì»òº¯ÊýÉùÃ÷±íÖµ²ÎÊý£¬»òÕßÉùÃ÷ÄúÒªÔÚÅú´¦ÀíÖлòÔÚ´æ´¢¹ý³Ì»òº¯ÊýµÄÖ÷ÌåÖÐʹÓõıí±äÁ¿¡£ÓйØÈçºÎ¶¨Òå±í½á¹¹µÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄ CREATE TABLE (Transact-SQL)¡£
¡¡¡¡ÈôÒª´´½¨Óû§¶¨Òå±íÀàÐÍ£¬ÇëʹÓà CREATE TYPE Óï¾ä¡£ÎªÁËÈ·±£Óû§¶¨Òå±íÀàÐ͵ÄÊý¾ÝÂú×ãÌØ¶¨ÒªÇó£¬Äú¿ÉÒÔ¶ÔÓû§¶¨Òå±íÀàÐÍ´´½¨Î¨Ò»Ô¼ÊøºÍÖ÷¼ü¡£
¡¡¡¡ÓйØÓëÓû§¶¨ÒåÀàÐÍÏà¹ØÁªµÄĿ¼ÊÓͼµÄÐÅÏ¢£¬Çë²ÎÔÄ sys.types ºÍ sys.table_types¡£
¡¡¡¡ÏÞÖÆ
¡¡¡¡Óû§¶¨Òå±íÀàÐ;ßÓÐÏÂÁÐÏÞÖÆ£º
¡¡¡¡Óû§¶¨Òå±íÀàÐͲ»ÄÜÓÃ×÷±íÖеÄÁлò½á¹¹»¯Óû§¶¨ÒåÀàÐÍÖеÄ×ֶΡ£
¡¡¡¡»ùÓÚÓû§¶¨Òå±íÀàÐ͵ıðÃûÀàÐÍ
¡¡¡¡[NOT FOR REPLICATION] Ñ¡ÏîÊDz»ÔÊÐíµÄ¡£
¡¡¡¡CHECK Ô¼ÊøÒªÇó±£Áô¼ÆËãÁС£
¡¡¡¡¼ÆËãÁеÄÖ÷¼ü±ØÐëÊÇ PERSISTED ºÍ NOT NULL¡£
¡¡¡¡ÎÞ·¨¶ÔÓû§¶¨Òå±íÀàÐÍ´´½¨·Ç¾Û¼¯Ë÷Òý£¬³ý·Ç¸ÃË÷ÒýÊǶÔÓû§¶¨Òå±íÀàÐÍ´´½¨ PRIMARY KEY »ò UNIQUE Ô¼ÊøµÄ½á¹û¡££¨SQL Server ʹÓÃË÷ÒýÇ¿ÖÆÊµÊ©ÈκΠUNIQUE »ò PRIMARY KEY Ô¼Êø¡££©
¡¡¡¡²»ÄÜÔÚÓû§¶¨Òå±íÀàÐ͵͍ÒåÖÐÖ¸¶¨ DEFAULT Öµ¡£
¡¡¡¡ÔÚ´´½¨Óû§¶¨Òå±íÀàÐͶ¨Òåºó²»ÄÜ¶ÔÆä½øÐÐÐ޸ġ£
¡¡¡¡²»ÄÜÔÚÓû§¶¨Òå±íÀàÐ͵ļÆËãÁе͍ÒåÖе÷ÓÃÓû§¶¨Ò庯Êý¡£
¡¡¡¡°²È«ÐÔ
¡¡¡¡Óû§¶¨Òå±íÀàÐ͵ÄȨÏÞͨ¹ýʹÓÃÏÂÁÐ Transact-SQL ¹Ø¼ü×ÖÀ´×ñÑ SQL Server µÄ¶ÔÏó°²È«Ä£Ê½£ºCREATE¡¢GRANT¡¢DENY¡¢ALTER¡¢CONTROL¡¢TAKE OWNERSHIP¡¢REFERENCES¡¢EXECUTE¡¢VIEW DEFINITION ºÍ REVOKE¡£
¡¡¡¡ÏÂÃæÎÒÓÃÒ»¸öʵÀýÀ´½²½âÒ»ÏÂ
--¡¡================================
--¡¡´´½¨ºÍʹÓÃ×Ô¶¨Òå±íÀàÐÍ
--¡¡³ÂÏ£ÕÂ
--¡¡================================¡¡
USE¡¡master
GO
--¡¡================================
--¡¡´´½¨²â
Ïà¹ØÎĵµ£º
¶ÔÓÚÓÐÖ÷¼ü×Ô¶¯Ôö³¤Êý¾Ý¿â±í£¬ÔÚ½øÐзÖÒ³ÉèÖÃʱ£¬ÎÒÈÏΪ»¹±È½Ï²»´íµÄÊÇ£º
SELECT TOP Ò³´óС *
from TestTable
WHERE (ID >
(SELECT MAX(id)
from (SELECT TOP Ò³´óС*Ò³Êý id
  ......
¼Ó[ ]ÓÃÓÚ¶¨½çÁÐÃû»ò±íÃûµÈÐÅÏ¢£¬ÒÔÇø±ðÒ»Ð©ÌØÊâµÄ²»ºÏÃüÃû¹æÔòµÄ×Ö´®£¬»òÊÇÓëϵͳ±£Áô×ÖÓгåÍ»¡£
Èç"user"ÊÇSQL Server±£ÁôµÄ¹Ø¼ü×Ö£¬ËùÒÔÓÃ"select * from user"²éѯ»áÌáʾÓï·¨´íÎó¡£¼ÓÉÏÖÐÀ¨ºÅ£¬ÒÔÉùÃ÷Æä²»ÊDZ£Áô×Ö¡£
"select * from [user]"
Èç¹û±íÃû²»Êǹؼü×Ö£¬ÈçCompany£¬ÔòÓÃ"select * from Company"ÊÇûÎÊÌâµ ......
¼Ó[ ]ÓÃÓÚ¶¨½çÁÐÃû»ò±íÃûµÈÐÅÏ¢£¬ÒÔÇø±ðÒ»Ð©ÌØÊâµÄ²»ºÏÃüÃû¹æÔòµÄ×Ö´®£¬»òÊÇÓëϵͳ±£Áô×ÖÓгåÍ»¡£Èç"user"ÊÇSQL Server±£ÁôµÄ¹Ø¼ü×Ö£¬ËùÒÔÓÃ"select * from user"²éѯ»áÌáʾÓï·¨´íÎó¡£¼ÓÉÏÖÐÀ¨ºÅ£¬ÒÔÉùÃ÷Æä²»ÊDZ£Áô×Ö¡£ "select * from [user]" Èç¹û±íÃû²»Êǹؼü×Ö£¬ÈçCompany£¬ÔòÓÃ"select * from Company"ÊÇûÎÊÌâµÄ£¬²»Ó ......
1¡¢²éÕÒ±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select * from people
where peopleId in (select peopleId from people group by peopleId having count
(peopleId) >& ......