Oracle start with ... connect by prior Ó÷¨
Óï·¨£º
select *
from ±íÃû
where Ìõ¼þ1
start with Ìõ¼þ2
connect by prior µ±Ç°±í×Ö¶Î=¼¶Áª±í×Ö¶Î
start withÓëconnect by priorÓï¾äÍê³ÉµÝ¹é¼Ç¼£¬ÐγÉÒ»¿ÃÊ÷Ðνṹ£¬Í¨³£¿ÉÒÔÔÚ¾ßÓвã´Î½á¹¹µÄ±íÖÐʹÓá£
start with±íʾ¿ªÊ¼µÄ¼Ç¼
connect by prior Ö¸¶¨Ó뵱ǰ¼Ç¼¹ØÁªÊ±µÄ×ֶιØÏµ
´úÂ룺
--´´½¨²¿ÃÅ±í£¬ÕâÊÇÒ»¸ö¾ßÓвã´Î½á¹¹µÄ±í£¬×ӼǼͨ¹ýparent_idÓ븸¼Ç¼µÄid½øÐйØÁª
create table DEPT(
ID NUMBER(9) PRIMARY KEY, --²¿ÃÅID
NAME VARCHAR2(100), --²¿ÃÅÃû³Æ
PARENT_ID NUMBER(9) --¸¸¼¶²¿ÃÅID£¬Í¨¹ý´Ë×Ö¶ÎÓëÉϼ¶²¿ÃŹØÁª
);
Ïò±íÖвåÈëÈçÏÂÊý¾Ý£¬ÎªÁËʹ´úÂë¼òµ¥£¬Ò»¸ö²¿ÃŽö¾ßÓÐÒ»¸öϼ¶²¿ÃÅ
¡ñ´Ó¸ù½Úµã¿ªÊ¼²éѯµÝ¹éµÄ¼Ç¼
select *
from dept
start with id=1
connect by prior id = parent_id;
ÏÂÃæÊDzéѯ½á¹û£¬start with id=1±íʾ´Óid=1µÄ¼Ç¼¿ªÊ¼²éѯ£¬ÏòÒ¶×ӵķ½ÏòµÝ¹é£¬µÝ¹éÌõ¼þÊÇid=parent_id£¬µ±Ç°¼Ç¼µÄidµÈÓÚ×ӼǼµÄparent_id
¡ñ´ÓÒ¶×ӽڵ㿪ʼ²éѯµÝ¹éµÄ¼Ç¼
select *
from dept
start with id=5
connect by prior parent_id = id;
ÏÂÃæÊDzéѯ½á¹û£¬µÝ¹éÌõ¼þ°´ÕÕµ±Ç°¼Ç¼µÄparent_idµÈÓ븸¼Ç¼µÄid
¡ñ¶Ô²éѯ½á¹û¹ýÂË
select *
from dept
where name like '%ÏúÊÛ%'
start with id=1
connect by prior id = parent_id;
ÔÚÏÂÃæµÄ²éѯ½á¹ûÖпÉÒÔ¿´µ½£¬Ê×ÏÈʹÓÃstart with... connect by prior²éѯ³öÊ÷ÐεĽṹ£¬È»ºówhereÌõ¼þ²ÅÉúЧ£¬¶ÔÈ«²¿²éѯ½á¹û½øÐйýÂË
¡ñpriorµÄ×÷ÓÃ
prior¹Ø¼ü×Ö±íʾ²»½øÐеݹé²éѯ£¬½ö²éѯ³öÂú×ãid=1µÄ¼Ç¼£¬ÏÂÃæÊǽ«µÚÒ»¸ö²éѯȥµôprior¹Ø¼ü×Öºó½á¹û
select *
from dept
start with id=1
connect by prior id = parent_id;
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
ÎÊÌâÃèÊö
=======
ÔÚÊÔͼÆô¶¯Êý¾Ý¿âµÄʱºò,Oracle±¨¸æÏÂÁдíÎó£º
ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
»ù±¾½âÊÍ
=======
Error: ORA-27101
Text: shared memory realm does not exist
-------------------------------------------
Ca ......
============================Question================================
SQL> select * from emp;
EMPID EMPNAME SALARY DEPTID
---------- ----------- ......
SQL> SQLPLUS / AS SYSDBA
SQL> exec dbms_workload_repository.create_snapshot
SQL> exec:snap_id:=dbms_workload_repository.create_snapshot
SQL> var snap_id number
SQL> print snap_id
SQL> @?/rdbms/admin/awrrpt.sql
OracleAWRËÙ²é
1.²é¿´µ±Ç°µÄAWR±£´æ²ßÂÔ
select * fro ......