SQLÓë¹ý³Ì»¯³ÌÐòÉè¼ÆÓïÑÔ
SQLÓë¹ý³Ì»¯³ÌÐòÉè¼ÆÓïÑÔ
SQLÊÇÒ»ÖÖµäÐ͵ķǹý³Ì»¯³ÌÐòÉè¼ÆÓïÑÔ£¬ÕâÖÖÓïÑÔµÄÌØµãÊÇ£º
Ö»Ö¸¶¨ÄÄЩÊý¾Ý±»²Ù×Ý£¬ÖÁÓÚ¶ÔÕâЩÊý¾ÝÒªÖ´ÐÐÄÄЩ²Ù×÷£¬ÒÔ¼°Õâ
Щ²Ù×÷ÊÇÈçºÎ
Ö´Ðеģ¬Ôòδ±»Ö¸¶¨¡£·Ç¹ý³Ì»¯³ÌÐòÉè¼ÆÓïÑÔµÄÓŵã
ÔÚÓÚËüµÄ¼òµ¥Ò×ѧ£¬Òò´ËÒѾ³ÉΪ¹ØÏµÊý¾Ý¿â·ÃÎʺͲÙ×ÝÊý¾ÝµÄ±ê
×¼ÓïÑÔ¡£
ÓëÖ®Ïà¶ÔÓ¦µÄÊǹý³Ì»¯³ÌÐòÉè¼ÆÓïÑÔ£¬ÎÒÃÇÆ½³£ÊìϤµÄ¸÷ÖÖ¸ß
¼¶³ÌÐòÉè¼ÆÓïÑÔ¶¼ÊôÓÚÕâÒ»·¶³ë¡£ÕâÖÖÓïÑÔµÄÌØµãÊÇ£ºÒ»ÌõÓï¾äµÄ
Ö´ÐÐÊÇÓëÆäǰºóµÄ
Óï¾äºÍ¿ØÖƽṹ£¨ÈçÌõ¼þÓï¾ä¡¢Ñ»·Óï¾äµÈ£©Ïà
¹ØµÄ¡£ÓëSQLÏà±È£¬ÕâЩÓïÑÔÏԵñȽϸ´ÔÓ£¬µ«ÓŵãÊÇʹÓÃÁé»î£¬
Êý¾Ý²Ù×ÝÄÜÁ¦·Ç³£Ç¿´ó¡£
ΪÁËÃÖ²¹SQLÔÚ¹ý³Ì»¯¿ØÖÆ·½ÃæµÄ²»×㣬Ðí¶àÉÌÓÃÊý¾Ý¿âϵͳ£¬
¶¼¶Ô±ê×¼SQLÓïÑÔ½øÐÐÁËÀ©³ä£¬Ôö¼ÓÁ˹ý³Ì»¯¿ØÖƲ¿·Ö£¬¼´ËùνµÄ
PL/SQL¡£
µ±È»²»Í¬µÄÊý¾Ý¿âϵͳËù×öµÄÀ©³ä³Ì¶ÈÊǺܲ»Í¬µÄ¡£
ÕâÀï½öÒÔSQL99/PSMΪÀý£¨SQL99Ϊ¶ÔÏó¹ØÏµÐÍÊý¾Ý¿âµÄ×îÐÂÓï
ÑÔ±ê
×¼£©£¬ËµÃ÷Ò»¸öÍêÕûµÄPL/SQLÓ¦¸Ã¾ßÓÐÄÄЩÓïÑԳɷ֣º
BEGIN...ENDÓï¾ä —— ¸´ºÏÓï¾ä
DECLAREÓï¾ä —— ±äÁ¿ÉùÃ÷Óï¾ä£¨µ±È»Ò²°üÀ¨ÓαꡢÁÙʱ±í¡¢
Òì³£Ìõ¼þµÈµÄÉùÃ÷£©
CALLÓï¾ä —— º¯Êýµ÷ÓÃÓï¾ä
RETURNÓï¾ä —— º¯Êý·µ»ØÓï¾ä
SETÓï¾ä —— ¸³ÖµÓï¾ä
IFÓï¾ä —— Ìõ¼þÓï¾ä
CASEÓï¾ä —— Ìõ¼þ·ÖÖ§Óï¾ä
LOOPÓï¾ä —— Ñ»·Óï¾ä1£¨Ï൱ÓÚCÖеÄWHILE£¨1£©£©
REPEATÓï¾ä
—— Ñ»·Óï¾ä2£¨Ï൱ÓÚCÖеÄDO...WHILEÓï¾ä£©
WHILEÓï¾ä —— Ñ»·Óï¾ä3
ITERATEÓï¾ä ——
Ìø×ªÓï¾ä1£¨Ï൱ÓÚCÖеÄCONTINUEÓï¾ä£©
LEAVEÓï¾ä —— Ìø×ªÓï¾ä2£¨Ï൱ÓÚCÖеÄBREAKÓï¾ä£©
FORÓï¾ä —— µü´úÓï¾ä£¨Ï൱ÓÚBATÖеÄFOR£©£¬¼´¶ÔÓÉÒ»ÓÎ
±ê±íʾµÄÊý¾Ý¼¯ÖеÄÃ¿Ò»ÔªËØÖ´ÐÐÒ»×鏸¶¨µÄ²Ù×÷¡£
Ïà¹ØÎĵµ£º
ÔÚSQL ServerµÄÐÔÄܵ÷ÓÅÖУ¬ÓÐÒ»¸ö²»¿É±ÈÄâµÄÎÊÌ⣺ÄǾÍÊÇÈçºÎÔÚÒ»¶ÎÐèÒª³¤Ê±¼äµÄ´úÂë»ò±»Æµ·±µ÷ÓõĴúÂëÖд¦ÀíÁÙʱÊý¾Ý¼¯?±í±äÁ¿ºÍÁÙʱ±íÊÇÁ½ÖÖÑ¡Ôñ¡£
¡¡¡¡ÔÚSQL ServerµÄÐÔÄܵ÷ÓÅÖУ¬ÓÐÒ»¸ö²»¿É±ÈÄâµÄÎÊÌ⣺ÄǾÍÊÇÈçºÎÔÚÒ»¶ÎÐèÒª³¤Ê±¼äµÄ´úÂë»ò±»Æµ·±µ÷ÓõĴúÂëÖд¦ÀíÁÙʱÊý¾Ý¼¯?±í±äÁ¿ºÍÁÙʱ±íÊÇÁ½ÖÖÑ¡Ôñ¡£¼ÇµÃÔÚ¸øÒ»¼Ò ......
ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä
http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
ÈçºÎÉú³Éexplain plan?
¡¡¡¡½â´ð:ÔËÐÐutlxplan.sql. ½¨Á¢plan ±í
¡¡¡¡Õë¶ÔÌØ¶¨SQLÓï¾ä£¬Ê¹Óà explain plan set statement_id = 'tst1' into plan_table
¡¡¡¡ÔËÐÐutlxplp.sql »ò utlxpls.sql²ì¿´explain plan
EXPLAIN PLA ......
ÓÅ»¯´æ´¢¹ý³ÌÓкܶàÖÖ·½·¨£¬ÏÂÃæ½éÉÜ×î³£ÓõÄ7ÖÖ¡£
1.ʹÓÃSET NOCOUNT ONÑ¡Ïî
ÎÒÃÇʹÓÃSELECTÓï¾äʱ£¬³ýÁË·µ»Ø¶ÔÓ¦µÄ½á¹û¼¯Í⣬»¹»á·µ»ØÏàÓ¦µÄÓ°ÏìÐÐÊý¡£Ê¹ÓÃSET NOCOUNT ONºó£¬³ýÁËÊý¾Ý¼¯¾Í²»»á·µ»Ø¶îÍâµÄÐÅÏ¢ÁË£¬¼õÐ¡ÍøÂçÁ÷Á¿¡£
2.ʹÓÃÈ·¶¨µÄSchema
ÔÚʹÓÃ±í£¬´æ´¢¹ý³Ì£¬º¯ÊýµÈµÈʱ£¬×îºÃ¼ÓÉÏÈ·¶¨µÄSchema¡£ÕâÑù¿ÉÒÔÊ ......
µ¼Èë
Èç¹û±íÒÑ´æÔÚ£¬SQLÓï¾äΪ£º
insert into aa select * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 8.0')...[sheet1$]
ÆäÖУ¬aaÊDZíÃû£¬D:\OutData.xlsÊÇexcelµÄȫ·¾¶ sheet1ºó±ØÐë¼ÓÉÏ$
Èç¹û±í²»´æÔÚ£¬SQLÓï¾äΪ£º
SELECT * INTO aa from OPENDAT ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL£¬»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQLÓï¾ä¡£
£¨1£©Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
OracleµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving
table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£È ......