SQL ServerÖеÄCTE
1¡¢¹«Óñí±í´ïʽ (CTE) ¿ÉÒÔÈÏΪÊÇÔÚµ¥¸ö SELECT¡¢INSERT¡¢UPDATE¡¢DELETE »ò CREATE VIEW Óï¾äµÄÖ´Ðз¶Î§ÄÚ¶¨ÒåµÄÁÙʱ½á¹û¼¯¡£CTE ÓëÅÉÉú±íÀàËÆ£¬¾ßÌå±íÏÖÔÚ²»´æ´¢Îª¶ÔÏ󣬲¢ÇÒÖ»ÔÚ²éѯÆÚ¼äÓÐЧ¡£ÓëÅÉÉú±íµÄ²»Í¬Ö®´¦ÔÚÓÚ£¬CTE ¿É×ÔÒýÓ㬻¹¿ÉÔÚͬһ²éѯÖÐÒýÓöà´Î¡£
¡¡¡¡CTE ¿ÉÓÃÓÚ£º
¡¡¡¡´´½¨µÝ¹é²éѯ¡£ÓйØÏêϸÐÅÏ¢£¬Çë²ÎÔÄʹÓù«Óñí±í´ïʽµÄµÝ¹é²éѯ¡£
¡¡¡¡ÔÚ²»ÐèÒª³£¹æÊ¹ÓÃÊÓÍ¼Ê±Ìæ»»ÊÓͼ£¬Ò²¾ÍÊÇ˵£¬²»±Ø½«¶¨Òå´æ´¢ÔÚÔªÊý¾ÝÖС£
¡¡¡¡ÆôÓð´´Ó±êÁ¿Ç¶Ì× select Óï¾äÅÉÉúµÄÁнøÐзÖ×飬»òÕß°´²»È·¶¨ÐÔº¯Êý»òÓÐÍⲿ·ÃÎʵĺ¯Êý½øÐзÖ×é¡£
¡¡¡¡ÔÚͬһÓï¾äÖжà´ÎÒýÓÃÉú³ÉµÄ±í¡£
¡¡¡¡Ê¹Óà CTE ¿ÉÒÔ»ñµÃÌá¸ß¿É¶ÁÐÔºÍÇáËÉά»¤¸´ÔÓ²éѯµÄÓŵ㡣²éѯ¿ÉÒÔ·ÖΪµ¥¶À¿é¡¢¼òµ¥¿é¡¢Âß¼Éú³É¿é¡£Ö®ºó£¬ÕâЩ¼òµ¥¿é¿ÉÓÃÓÚÉú³É¸ü¸´ÔÓµÄÁÙʱ CTE£¬Ö±µ½Éú³É×îÖÕ½á¹û¼¯¡£¿ÉÒÔÔÚÓû§¶¨ÒåµÄÀý³Ì(È纯Êý¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷»òÊÓͼ)Öж¨Òå CTE¡£
¡¡¡¡2¡¢¹«Óñí±í´ïʽ (CTE) ¾ßÓÐÒ»¸öÖØÒªµÄÓŵ㣬ÄǾÍÊÇÄܹ»ÒýÓÃÆä×ÔÉí£¬´Ó¶ø´´½¨µÝ¹é CTE¡£µÝ¹é CTE ÊÇÒ»¸öÖØ¸´Ö´Ðгõʼ CTE ÒÔ·µ»ØÊý¾Ý×Ó¼¯Ö±µ½»ñÈ¡ÍêÕû½á¹û¼¯µÄ¹«Óñí±í´ïʽ¡£µ±Ä³¸ö²éѯÒýÓõݹé CTE ʱ£¬Ëü¼´±»³ÆÎªµÝ¹é²éѯ¡£µÝ¹é²éѯͨ³£ÓÃÓÚ·µ»Ø·Ö²ãÊý¾Ý£¬ÀýÈ磺ÏÔʾij¸ö×é֯ͼÖеĹÍÔ±»òÎïÁÏÇåµ¥·½°¸(ÆäÖи¸¼¶²úÆ·ÓÐÒ»¸ö»ò¶à¸ö×é¼þ£¬¶øÄÇЩ×é¼þ¿ÉÄÜ»¹ÓÐ×Ó×é¼þ£¬»òÕßÊÇÆäËû¸¸¼¶²úÆ·µÄ×é¼þ)ÖеÄÊý¾Ý¡£
¡¡¡¡µÝ ¹é CTE ¿ÉÒÔ¼«´óµØ¼ò»¯ÔÚ SELECT¡¢INSERT¡¢UPDATE¡¢DELETE »ò CREATE VIEW Óï¾äÖÐÔËÐеݹé²éѯËùÐèµÄ´úÂë¡£ÔÚ SQL Server µÄÔçÆÚ°æ±¾ÖУ¬µÝ¹é²éѯͨ³£ÐèҪʹÓÃÁÙʱ±í¡¢ÓαêºÍÂß¼À´¿ØÖƵݹ鲽ÖèÁ÷¡£Óйع«Óñí±í´ïʽµÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄʹÓù«Óñí±í´ïʽ¡£
¡¡¡¡ÕâÀï¾ÙÀý˵Ã÷ÈçÏ£º
¡¡¡¡ÎªÁËÃèÊö·½±ã£¬ÑûÔÂÌØµØÁоÙÁËÒ»¸ö³£¼ûµÄ×Ô¹ØÁªTable
¡¡¡¡±í½á¹¹ÈçÏ£º
¡¡¡¡CREATE TABLE [dbo].[CategorySelf](
¡¡¡¡[PKID] [int] IDENTITY(1,1) NOT NULL,
¡¡¡¡[C_Name] [nvarchar](50) NOT NULL,
¡¡¡¡[C_Level] [int] NOT NULL,
¡¡¡¡[C_Code] [nvarchar](255) NULL,
¡¡¡¡[C_Parent] [int] NOT NULL,
¡¡¡¡[InsertTime] [datetime] NOT NULL,
¡¡¡¡[InsertUser] [nvarchar](50) NULL,
¡¡¡¡[UpdateTime] [datetime] NOT NULL,
¡¡¡¡[UpdateUser] [nvarchar]
Ïà¹ØÎĵµ£º
ÈÃÎÒÃÇ´ÓÕâÑùÒ»¸öʾÀý¿ªÊ¼ËµÆð£¬ËüÔÚ SQL Server 2000 ºÍ 2005 Öж¼ÄÜÒýÆðËÀËø¡£ÔÚ±¾ÎÄÖУ¬ÎÒʹÓà SQL Server 2005 µÄ×îРCTP£¨ÉçÇø¼¼ÊõÔ¤ÀÀ£¬Community Technology Preview£©°æ±¾£¬SQL Server 2005 Beta 2£¨7 Ô·¢²¼£©Ò²Í¬ÑùÊÊÓá£Èç¹ûÄúûÓÐ Beta 2 »ò×îÐ嵀 CTP °æ±¾£¬ÇëÏÂÔØ SQL Serve ......
Êý¾Ý¿âÖÐÖ÷¼üºÍÍâ¼ü
(1)×÷ÓÃ
¼òµ¥ÃèÊö£º
Ö÷¼üÊǶԱíµÄÔ¼Êø£¬±£Ö¤Êý¾ÝµÄΨһÐÔ£¡
Íâ¼üÊǽ¨Á¢±íÓÚ±íÖ®¼äµÄÁªÏµ£¬·½±ã³ÌÐòµÄ±àд£¡
(2)Éè¼ÆÔÔò
Ö÷¼üºÍÍâ¼üÊǰѶà¸ö±í×é֯Ϊһ¸öÓÐЧµÄ¹ØÏµÊý¾Ý¿âµÄÕ³ºÏ¼Á¡£Ö÷¼üºÍÍâ¼üµÄÉè¼Æ¶ÔÎïÀíÊý¾Ý¿âµÄÐÔÄܺͿÉÓÃÐÔ¶¼ÓÐמö¶¨ÐÔµÄÓ°Ïì¡£
±ØÐ뽫Êý¾Ý¿âÄ£Ê ......
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
¡¡¡¡SQL·ÖÀࣺ
¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý ......
×î½üÒ»Ö±ÔÚѧϰSQL serverµÄÄÚÈÝ¡£×òÌ쿼ÁËÒ»ÏÂÊÔ¡£¸Ð¾õÕæµÄÊDz»ÈÝÒ×°¡¡£ÌرðÊÇһЩ¸´ÔӵIJéѯ¡£¸ãµÃÎÒÍ·»èÄÔÕ͵ġ£²»¹ýÒ²ÊÇÓÉÓÚ×Ô¼ºµÄÖªÊ¶ÕÆÎյϹ²»¹»Ôúʵ°¡¡£ËùÒÔ½ñÌ츴ϰÁËÒ»ÏÂT-SQlÓï¾äµÄÔöɾ¸Ä²é¡£·¢ÏÖµÄÈ·ÊÇÓкܶ඼Íü¼ÇÁË¡£ÏÖÔڰѽá¹ûд³öÀ´¡£ÒÔºó¿É²»ÒªÍüÁËѽ¡£
--SQLÓï¾ä¸´Ï° --Ò»,²åÈëinsertÓï¾ä --1,ins ......
±³¾°£ºDB2µÄÊý¾Ý¿âÐÔÄܺÜÅ£X£¬µ«ÊÇÆäÎĵµÈ´ºÜ²î£¬ÓÈÆäÊÇ¿ª·¢²Î¿¼Îĵµ£¬¶¼ÊÇÓ¢Îĵģ¬ä¯ÀÀµÄʱºò»¹ºÜ²»ºÃÕÒ£¬ÐèÒªÉÏIBMµÄÍøÕ¾¿´£¬ÍøÕ¾Ò²³öÆæµÄÂý£¬¼«²»·½±ã£¬Èÿª·¢ÈËÔ±¾Ù²½Î¬¼è£¬ÕâÒ²ÐíÊÇIBM DB2µÄÓû§ÉÙ£¬ÊéÉÙ£¬×ÊÁÏÉÙµÄÔÒò¡£
££££££££££££££££££
´´½¨SQL´æ´¢¹ý³Ì£¨CREATE PROCEDURE (SQL) stat ......