Oracle Connect ByÓ÷¨
Oracle Connect ByÓ÷¨
oracleÖеÄselectÓï¾ä¿ÉÒÔÓÃSTART WITH...CONNECT BY PRIOR×Ó¾äʵÏֵݹé²éѯ£¬connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from <TableName>
where <Conditional-1>
start with <Conditional-2>
connect by <Conditional-3>
;
<Conditional-1>£º¹ýÂËÌõ¼þ£¬ÓÃÓÚ¶Ô·µ»ØµÄËùÓмǼ½øÐйýÂË¡£
<Conditional-2>£º²éѯ½á¹ûÖØÆðʼ¸ù½áµãµÄÏÞ¶¨Ìõ¼þ¡£
<Conditional-3>£ºÁ¬½ÓÌõ¼þ
Êý¾Ý×éÖ¯½á¹¹ÈçÏÂͼ£º
Êý¾Ý¿â±í½á¹¹ÈçÏ£º
create table t2(
root_id number,
id number,
name varchar(5),
description varchar(10)
);
insert into t2(root_id,id,name,description) values(0,1,'a','aaa');
insert into t2(root_id,id,name,description) values(1,2,'a1','aaa1');
insert into t2(root_id,id,name,description) values(1,3,'a2','aaa2');
insert into t2(root_id,id,name,description) values(0,4,'b','bbb');
insert into t2(root_id,id,name,description) values(4,5,'b1','bbb1');
insert into t2(root_id,id,name,description) values(4,6,'b2','bbb2');
»ñÈ¡ÍêÕûÊ÷£º
select * from t2 start with root_id = 0 connect by prior id = root_id;
»ñÈ¡ÌØ¶¨×ÓÊ÷£º
select * from t2 start with id = 1 connect by prior id = root_id;
select * from t2 start with id = 4 connect by prior id = root_id;
Èç¹ûconnect by priorÖеÄprior±»Ê¡ÂÔ£¬Ôò²éѯ½«²»½øÐÐÉî²ãµÝ¹é¡£
È磺
select * from t2 start with root_id = 0 connect by id = root_id;
select * from t2 start with id = 1 connect by id = root_id;
È磺
£¨×ªÔØ×Ô£ºhttp://blog.chinaunix.net/u1/54706/showart_1711812.html£©
Ïà¹ØÎĵµ£º
OracleϵÁУºÍ¼Æ¬µÄ´æ´¢
Ò»£ºÊ²Ã´ÊÇ´ó¶ÔÏ󣬴ó¶ÔÏó»ù±¾²Ù×÷£¿
²Î¼ûÎÒµÄBLOG£ºOracleϵÁУºLOB´ó¶ÔÏó´¦Àí
http://blog.csdn.net/qfs_v/archive/2008/05/21/2464599.aspx
¶þ£¬Í¼Æ¬µÄ´æ´¢»ò¶þ½øÖÆÎļþµÄ´æ´¢
1£¬ÏȲåÈëÆÕͨÊý¾Ý£¬Óöµ½´ó¶ÔÏóÁÐʹÓÃempty_blob()¹¹Ôì¿ÕµÄÖ¸Õë¡£
Àý× ......
OracleϵÁУº¼Ç¼£¨Record£©
Ò»£¬Ê²Ã´ÊǼǼ£¨Record£©£¿
Óɵ¥ÐжàÁеıêÁ¿¹¹³ÉµÄ¸´ºÏ½á¹¹¡£¿ÉÒÔ¿´×öÊÇÒ»ÖÖÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ¡£×é³ÉÀàËÆÓÚ¶àάÊý×é¡£
½«Ò»¸ö»ò¶à¸ö±êÁ¿·â×°³ÉÒ»¸ö¶ÔÏó½øÐвÙ×÷¡£ÊÇÒ»ÖÖÁÙʱ¸´ºÏ¶ÔÏóÀàÐÍ¡£
¼Ç¼¿ÉÒÔÖ±½Ó¸³Öµ¡£RECORD1 :=RECORD2£»
¼Ç¼²»¿ÉÒÔÕûÌå±È½Ï. ......
Ò»£¬OracleÊý¾Ý¿âÓû§¼ò½é
ÔÚOracleÊý¾Ý¿âÖÐÈκζÔÏó¶¼ÊôÓÚÒ»¸öÌØ¶¨Óû§£¬»òÕß˵һ¸öÓû§ÓëͬÃûµÄģʽÏà¹ØÁª¡£
ÒªÁ¬½Óµ½OracleÊý¾Ý¿âÐèÒªÒ»¸öÓû§ÕÊ»§£¬¸ù¾ÝÐèÒªÊÚÓèµÄ²Ù×÷ȨÏÞ¡£
1£¬Ä¬ÈÏÊý¾Ý¿âÓû§Ä£Ê½£º
Sys:Êý¾Ý¿â×ֵ䣨´æ´¢±»¹ÜÀí¶ÔÏóËùÓÐÐÅÏ¢£©ºÍÊÓͼ´æ´¢ÔÚ¸ÃģʽÖС£ÏµÍ³¼¶Óû§¡£ ......
1)½¨Á¢²Ù×÷ϵͳĿ¼e:\test£¬×¼±¸Êý¾ÝÎļþdept.txt²¢ÖÃÓÚe:\testÖ®ÏÂ
"10","ACCOUNTING","NEW
YORK"
"20","RESEARCH","DALLAS"
"30","SALES","CHICAGO"
"40","OPERATIONS","BOSTON"
2)´´ ......