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
Ïà¹ØÎĵµ£º
×Ô¼º¸Õ¿ªÊ¼ÓÃPL/SQLÀ´Ð´Ò»µã¶«Î÷£¬ÏÖÔÚ»¹·ôdzµÄºÜ£¬ËµÕâЩ²»ÊÇÏëÇ«Ð飬¶øÊÇÏëÈç¹ûÓиßÊÖ¿´µ½×Ô¼ºÓÐʲôµØ·½Ð´´íµÄ£¬Ï£Íû¸øÎÒÒ»µãÖ¸µã¡£
½ñÌìÏÂÎçÕÒÁËÒ»ÏÂÎç×Ô¼ºµÄÄǸöPL/SQL°üµÄ´íÎó£¬×îºó»¹Êǽâ¾öÁË¡£¡£¡£Á½¸öСµÄ²»ÄÜÔÙСµÄÎÊÌ⣬ºÍ´ó¼Ò·ÖÏíһϡ£
1¡¢ÔÚPL/SQLÖÐÈç¹ûÊǺ¯Êý£¬¾Í¿ÉÒÔSQLÓï¾äÖÐʹÓã¬Ò²¿ÉÒÔÔÚÆäËûµÄPL/SQL ......
begin
sys.dbms_job.submit(job => :job,
what => 'check_err;',
  ......
Checking kernel parameters
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=32. Failed <<<<
Checking for semmni=128; found semmni=128.&nb ......
ORACLEÊǶàÓû§ÏµÍ³£¬ËüÔÊÐíÐí¶àÓû§¹²Ïíϵͳ×ÊÔ´¡£ÎªÁ˱£Ö¤Êý¾Ý¿âϵͳµÄ°²È«£¬Êý¾Ý¿â¹ÜÀíϵͳÅäÖÃÁËÁ¼ºÃµÄ°²È«»úÖÆ¡£
2. 1 ORACLEÊý¾Ý¿â°²È«²ßÂÔ
½¨Á¢ÏµÍ³¼¶µÄ°²È«±£Ö¤
ϵͳ¼¶ÌØÈ¨ÊÇͨ¹ýÊÚÓèÓ ......
£¨Ò»£©Ê²Ã´½ÐÓû§£¨user£©£º
A user is a name defined in the database that can connect to and access objects.
Óû§ÊÇÓÃÁ¬½ÓÊý¾Ý¿âºÍ·ÃÎÊÊý¾Ý¿â¶ÔÏóµÄ¡££¨Óû§ÊÇÓÃÀ´Á¬½ÓÊý¾Ý¿â·ÃÎÊÊý¾Ý¿â£©¡£
£¨¶þ£©Ê²Ã´½Ðģʽ(schema)£º
A schema is a collection of database objects (used by a user.).
Schema objects are th ......