OracleÖÐstart with...connect by prior×Ó¾äÓ÷¨
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±íÖдæÔÚÁ½¸ö×Ö¶Î:
org_id,parent_idÄÇôͨ¹ý±íʾÿһÌõ¼Ç¼µÄparentÊÇË£¬¾Í¿ÉÒÔÐγÉÒ»¸öÊ÷×´½á¹¹¡£
ÓÃÉÏÊöÓï·¨µÄ²éѯ¿ÉÒÔÈ¡µÃÕâ¿ÃÊ÷µÄËùÓмǼ¡£
ÆäÖУº
Ìõ¼þ1 ÊǸù½áµãµÄÏÞ¶¨Óï¾ä£¬µ±È»¿ÉÒÔ·Å¿íÏÞ¶¨Ìõ¼þ£¬ÒÔÈ¡µÃ¶à¸ö¸ù½áµã£¬Êµ¼Ê¾ÍÊǶà¿ÃÊ÷¡£
Ìõ¼þ2 ÊÇÁ¬½ÓÌõ¼þ£¬ÆäÖÐÓÃPRIOR±íʾÉÏÒ»Ìõ¼Ç¼£¬±ÈÈç CONNECT BY PRIOR org_id = parent_id¾ÍÊÇ˵ÉÏÒ»Ìõ¼Ç¼µÄorg_id ÊDZ¾Ìõ¼Ç¼µÄparent_id£¬¼´±¾¼Ç¼µÄ¸¸Ç×ÊÇÉÏÒ»Ìõ¼Ç¼¡£
Ìõ¼þ3 ÊǹýÂËÌõ¼þ£¬ÓÃÓÚ¶Ô·µ»ØµÄËùÓмǼ½øÐйýÂË¡£
¼òµ¥½éÉÜÈçÏ£º
ÔçɨÃèÊ÷½á¹¹±íʱ£¬ÐèÒªÒÀ´Ë·ÃÎÊÊ÷½á¹¹µÄÿ¸ö½Úµã£¬Ò»¸ö½ÚµãÖ»ÄÜ·ÃÎÊÒ»´Î£¬Æä·ÃÎʵIJ½ÖèÈçÏ£º
µÚÒ»²½£º´Ó¸ù½Úµã¿ªÊ¼£»
µÚ¶þ²½£º·ÃÎʸýڵ㣻
µÚÈý²½£ºÅжϸýڵãÓÐÎÞδ±»·ÃÎʵÄ×ӽڵ㣬ÈôÓУ¬ÔòתÏòËü×î×ó²àµÄδ±»·ÃÎʵÄ×Ó½Ú£¬²¢Ö´Ðеڶþ²½£¬·ñÔòÖ´ÐеÚËIJ½£»
µÚËIJ½£ºÈô¸Ã½ÚµãΪ¸ù½Úµã£¬Ôò·ÃÎÊÍê±Ï£¬·ñÔòÖ´ÐеÚÎå²½£»
µÚÎå²½£º·µ»Øµ½¸Ã½ÚµãµÄ¸¸½Úµã£¬²¢Ö´ÐеÚÈý²½Öè¡£
×ÜÖ®£ºÉ¨ÃèÕû¸öÊ÷½á¹¹µÄ¹ý³ÌÒ²¼´ÊÇÖÐÐò±éÀúÊ÷µÄ¹ý³Ì¡£
1£® Ê÷½á¹¹µÄÃèÊö
Ê÷½á¹¹µÄÊý¾Ý´æ·ÅÔÚ±íÖУ¬Êý¾ÝÖ®¼äµÄ²ã´Î¹Øϵ¼´¸¸×Ó¹Øϵ£¬Í¨¹ý±íÖеÄÁÐÓëÁмäµÄ¹ØϵÀ´ÃèÊö£¬ÈçEMP±íÖеÄEMPNOºÍMGR¡£EMPNO±íʾ¸Ã¹ÍÔ±µÄ±àºÅ£¬MGR±íʾÁìµ¼¸Ã¹ÍÔ±µÄÈ˵ıàºÅ£¬¼´×Ó½ÚµãµÄMGRÖµµÈÓÚ¸¸½ÚµãµÄEMPNOÖµ¡£ÔÚ±íµÄÿһÐÐÖж¼ÓÐÒ»¸ö±íʾ¸¸½ÚµãµÄMGR£¨³ý¸ù½ÚµãÍ⣩£¬Í¨¹ýÿ¸ö½ÚµãµÄ¸¸½Úµã£¬¾Í¿ÉÒÔÈ·¶¨Õû¸öÊ÷½á¹¹¡£
ÔÚSELECTÃüÁîÖÐʹÓÃCONNECT BY ºÍ°ªSTART WITH ×Ó¾ä¿ÉÒÔ²éѯ±íÖеÄÊ÷Ðͽṹ¹Øϵ¡£ÆäÃüÁî¸ñʽÈçÏ£º
SELECT ¡£¡£¡£
CONNECT BY {PRIOR ÁÐÃû1=ÁÐÃû2|ÁÐÃû1=PRIOR ÁÑÃû2}
[START WITH]£»
ÆäÖУºCONNECT BY×Ó¾ä˵Ã÷ÿÐÐÊý¾Ý½«ÊÇ°´²ã´Î˳Ðò¼ìË÷£¬²¢¹æ¶¨½«±íÖеÄÊý¾ÝÁ¬ÈëÊ÷ÐͽṹµÄ¹ØϵÖС£PRIORYÔËËã·û±ØÐë·ÅÖÃÔÚÁ¬½Ó¹ØϵµÄÁ½ÁÐÖÐijһ¸öµÄÇ°Ãæ¡£¶ÔÓÚ½Úµã¼äµÄ¸¸×Ó¹Øϵ£¬PRIORÔËËã·ûÔÚÒ»²à±íʾ¸¸½Úµã£¬ÔÚÁíÒ»²à±íʾ×ӽڵ㣬´Ó¶øÈ·¶¨²éÕÒÊ÷½á¹¹ÊǵÄ˳ÐòÊÇ×Ô¶¥ÏòÏ»¹ÊÇ×Ôµ×ÏòÉÏ¡£ÔÚÁ¬½Ó¹ØϵÖУ¬³ýÁË¿ÉÒÔʹÓÃÁÐÃûÍ⣬»¹ÔÊÐíʹÓÃÁбí´ïʽ¡£START WITH ×Ó¾äΪ¿ÉÑ¡ÏÓÃÀ´±êʶÄĸö½
Ïà¹ØÎĵµ£º
sqlÓï¾ä£º
select bid from t_branch c start with c.upbid ='11000000' connect by prior c.bid=c.upbid
˵Ã÷£º
1¡¢Í³¼Æij¸ö»ú¹¹ÏÂËùÓеÄ×ÓËï»ú¹¹¡£Èçͳ¼Æ±±¾©»ú¹¹ÏµÄ×ÓËï»ú¹¹£¬°üÀ¨£º³¯ÑôÇø»ú¹¹¡¢º£µíÓªÏú»ú¹¹¡¢¡¢¡¢ÇàÁúÇÅÏç»ú¹¹¡¢¡¢¡¢¡¢Ò»Ö±µ½×îµ×²ãµÄ»ú¹¹¡£
2¡¢upbidÊÇÖ¸Éϼ¶»ú¹¹µÄID¡£º£µíÇø»ú¹¹ID(b ......
ÀûÓÃÐòÁвúÉúÖ÷¼üÖµ¡£
ÐòÁУ¨Sequence£©ÊÇÒ»ÖÖ¿ÉÒÔ±»¶à¸öÓû§Ê¹ÓõÄÓÃÓÚ²úÉúһϵÁÐΨһÊý×ÖµÄÊý¾Ý¿â¶ÔÏó¡£ÐòÁж¨Òå´æ´¢ÔÚÊý¾Ý×ÖµäÖУ¬Í¨¹ýÌṩΨһÊýÖµµÄ˳Ðò±íÀ´¼ò»¯³ÌÐòÉè¼Æ¹¤×÷£¬¿ÉÒÔʹÓÃÐòÁÐ×Ô¶¯²úÉúÖ÷¼üµÄ¼üÖµ¡£µ±Ò»¸öÐòÁеÚÒ»´Î±»²éѯµ÷ÓÃʱ£¬Ëü½«·µ»ØÒ»¸öÔ¤¶¨Öµ¡£ÔÚËæºóµÄÿ´Î²éѯÖУ¬ÐòÁн«²úÉúÒ»¸ö°´Ö¸¶¨µÄÔöÁ¿Ô ......
ÉñÃØµÄ ORACLE DUAL±í
DUAL ? ÓÐʲôÉñÃصÄ? µ±ÄãÏëµÃµ½ORACLEϵͳʱ¼ä, ¼ò¼òµ¥µ¥ÇÃÒ»ÐÐSQL¡¡
¡¡¡¡
¡¡¡¡²»¾ÍµÃÁËÂð? ¹ÊŪÐþÐé….¡¡
¡¡¡¡
¡¡¡¡SQL> select sysdate from dual;¡¡
¡¡¡¡
¡¡¡¡SYSDATE¡¡
¡¡¡¡
¡¡¡¡———¡¡
¡¡¡¡
¡¡¡¡28-SEP-03¡ ......
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
Ò»¡¢ÔÚUnixÏ´´½¨Êý¾Ý¿â
1.È·¶¨Êý¾Ý¿âÃû¡¢Êý¾Ý¿âʵÀýÃûºÍ·þÎñÃû
¹ØÓÚÊý¾Ý¿âÃû¡¢Êý¾Ý¿âʵÀýÃûºÍ·þÎñÃû£¬ÎÒ֮ǰÓÐרÃÅÓÃһƪÀ´Ïêϸ½éÉÜ¡£ÕâÀï¾Í²»ÔÙ˵Ã÷ÁË¡£
2.´´½¨²ÎÊýÎļþ
²ÎÊýÎļþºÜÈ·¶¨ÁËÊý¾Ý¿âµÄ×ÜÌå½á¹¹¡£Oracle10gÓÐÁ½ÖÖ²ÎÊýÎļþ£¬Ò»¸öÊÇÎı¾²ÎÊýÎļþ£¬Ò»ÖÖÊÇ·þÎñÆ÷²ÎÊýÎļþ¡£ÔÚ´´½¨Ê ......