Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Oracle ÖеÄÊ÷²éѯºÍ connect by


Oracle ÖеÄÊ÷²éѯºÍ connect by
ʹÓà connect by ºÍ start with À´½¨Á¢ÀàËÆÓÚÊ÷µÄ±¨±í²¢²»ÄÑ£¬Ö»Òª×ñÑ­ÒÔÏ»ù±¾Ô­Ôò¼´¿É£º
ʹÓà connect by ʱ¸÷×Ó¾äµÄ˳ÐòӦΪ£º
select
from
where
start with
connect by
order by
prior ʹ±¨±íµÄ˳ÐòΪ´Ó¸ùµ½Ò¶£¨Èç¹û prior ÁÐÊǸ¸±²£©»ò´ÓÒ¶µ½¸ù£¨Èç¹û prior ÁÐÊǺó´ú£©¡£
where ×Ó¾ä¿ÉÒÔ´ÓÊ÷ÖÐÅųý¸öÌ壬µ«²»ÅųýËüÃǵÄ×ÓË»òÕß׿ÏÈ£¬Èç¹û prior ÁÐÊǺó´ú£©¡£
connect by ÖеÄÌõ¼þ£¨ÓÈÆäÊDz»µÈÓÚ£©Ïû³ý¸öÌåºÍËüËùÓеÄ×ÓË»ò׿ÏÈ£¬ÒÀÀµÓÚÔõÑù¸ú×ÙÊ÷£©¡£
connect by ²»ÄÜÓë where ×Ó¾äÖеıíÁ¬½ÓÔÚÒ»ÆðʹÓá£
 
ÏÂÃæÊǼ¸¸öÀý×Ó
1. ´Ó¸ùµ½Ò¶±éÀú
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id;
2. ´ÓÒ¶µ½¸ù±éÀú
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 300
CONNECT BY n_id = PRIOR n_parendid;
3. Åųý¸öÌ壬µ«²»ÅųýËüÃǵÄ×ÓËï
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL AND n_id != 2
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id;
4. Ïû³ý¸öÌåºÍËüËùÓеÄ×ÓËï
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id AND n_id != 2;
5. ¸Ä±äÏÔʾ˳Ðò
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id
ORDER BY n_viewnum DESC; 
±¾ÎÄת×Ôcsdn:http://blog.csdn.net/wzy0623/archive/2007/06/18/1656345.aspx


Ïà¹ØÎĵµ£º

°²×°ÍêÁËOracleÊý¾Ý¿â£¬¸øscottÕË»§½âËø·½·¨

    ×°ÍêÁËOracle 10gÊý¾Ý¿â£¬ÍüÁ˸øscottÕË»§½âËø¡£Õâʱ¿ÉÒÔÔÚsql plus¹¤¾ßÀ¿ªÊ¼|ËùÓгÌÐò|<Oracle-Home>|Ó¦ÓóÌÐò¿ª·¢|SQL Plus£©£¬Ò²¿ÉÒÔÔÚ¿ØÖÆÌ¨Í¨¹ýÃüÁîÐиøscottÕË»§½âËø¡£
    ÔÚµÚÒ»ÖÖÇé¿öÏ£¬ÒÔsystemÕË»§µÇ¼SQL Plus£¬È»ºóʹÓÃÃüÁî“alter user scott account unl ......

Oracle ѧϰ֪ʶµã£¨Ò»£©

 Ò» µÇ¼SQLPLUS
    sqlplusÓû§Ãû/ÃÜÂë@Êý¾Ý¿âʵÀýasµÇ¼½ÇÉ«;
Èç:Óû§sys(ÃÜÂëΪ123)ÒÔsysdbaµÄ½ÇÉ«µÇ¼Êý¾Ý¿âORACL£¬ÎÒÃÇ¿ÉÒÔÊäÈ룺sqlplus sys/123@oracl as sysdba;
    ÕâÖֵǼ·½Ê½»áÖ±½Ó±©Â¶ÃÜÂ룬Èç¹ûÏëÒþ²ØÃÜÂ룬¿ÉÒÔÔÚ´ËÊ¡ÂÔÃÜÂëµÄÊäÈ룬È磺sqlplus sys@oracl as sysdb ......

OracleÖйØÓÚÇå³ýÊý¾ÝÊͷűí¿Õ¼äµÈ·½ÃæµÄsql

         ǰЩÈÕ×Ó£¬Êý¾Ý¿â¿Õ¼ä±¬Âú£¬ÒѾ­Ôö³¤µ½´æ´¢¿Õ¼äµ¥¸ö´æ´¢ÎļþµÄ×î´óÖµ32G¡£µ«ÊÇ£¬²ÉÓÃÁ˺ܶà°ì·¨²ÅÊͷŵô±í¿Õ¼ä£¬Ö÷ÒªÊÇϵͳÖдóÁ¿Ê¹Ó÷ÖÇø±í£¬¶øÕë¶Ô·ÖÇø±íÇå³ýÊý¾Ý£¬²»»áÊͷűí¿Õ¼ä£¬±ØÐë°Ñ·ÖÇødropµô£¬²Å»áÊͷſռ䡣¼Ç¼һϵ±Ê±²Ù×÷ʱѧϰºÍʹÓõÄһЩÓï¾ä£º
Ò»¡¢dr ......

ORACLE SQLÐÔÄÜÓÅ»¯´ó×ܽá

ORACLE SQLÐÔÄÜÓÅ»¯´ó×ܽá
1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
" ?; J) n+ v8 J- v" q    OracleµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ