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

Óú¯ÊýʵÏÖoracleµÄsys_connect_by_path¹¦ÄÜ

1.½¨±í£¬²åÈëÊý¾Ý
create table dept(deptno number,deptname varchar2(20),mgrno number);
insert into dept values(1,'×ܹ«Ë¾',null);
insert into dept values(2,'Õã½­·Ö¹«Ë¾',1);
insert into dept values(3,'º¼ÖÝ·Ö¹«Ë¾',2);
insert into dept values(4,'ºþ±±·Ö¹«Ë¾',1);
insert into dept values(5,'Î人·Ö¹«Ë¾',4);
2.oracle²éѯÓï¾ä
select *,sys_connect_by_path(deptname,'/') deptname  from dept
  start with  mgrno is null connect by prior deptno=mgrno;
----------------------------------------------------------------------------------------
1        ×ܹ«Ë¾        <NULL>        /×ܹ«Ë¾       
2        Õã½­·Ö¹«Ë¾        1           /×ܹ«Ë¾/Õã½­·Ö¹«Ë¾       
3        º¼ÖÝ·Ö¹«Ë¾        2           /×ܹ«Ë¾/Õã½­·Ö¹«Ë¾/º¼ÖÝ·Ö¹«Ë¾     
4        ºþ±±·Ö¹«Ë¾        1           /×ܹ«Ë¾/ºþ±±·Ö¹«Ë¾
5        Î人·Ö¹«Ë¾        4          /×ܹ«Ë¾/ºþ±±·Ö¹«Ë¾/Î人·Ö¹«Ë¾
  
----------------------------------------------------------------------------------------
3.´´½¨º¯ÊýʵÏÖÀàËÆ¹¦ÄÜ
CREATE or replace FUNCTION Branch
(    vdeptname    varchar(200),
     vDelimiter   IN VARCHAR(10) DEFAULT '/')
   return varchar(4000)
as
c1 cursor;
temp varchar(4000);
vename varchar(200);
begin
 temp=vDelimiter;
 open c1 for select  deptname from dept start with deptname
  =vdeptname connect by  deptno= prior mgrno;
 loop
   FETCH


Ïà¹ØÎĵµ£º

ORACLEÖÐSQLÈ¡×îºóÒ»Ìõ¼Ç¼µÄ¼¸ÖÖ·½·¨

  ÔÚETL¹ý³ÌÖУ¬¾­³£»áÅöµ½È¡½á¹û¼¯µÄ×îºó»ò×îǰһÌõ¼Ç¼¡£ÈçÈ¡»îÆÚ´æ¿îµÄµ±Ç°ÀûÂÊ£¬¿ª»§½ð¶î£¬Ð­¶¨ÀûÂʵȡ£Èç¹û²»ÓÃLOOKUPµÄ·½Ê½£¬Èçͨ¹ýÓαêÈ¡»òÕßETL¹¤¾ßLOOKUP×é¼þʲôµÄ£¬ÔÚÒ»ÌõSQLÀïʵÏÖ£¬Ä¿Ç°ÊµÏÖÓм¸ÖÖ·½·¨¡£
1.ÒÔʱ¼ä»òÆäËû×ֶηÖ×éºóÔÚ×ÔÁ¬×Ô¼º£¬ÕâÑù²»½ö¿ÉÒÔ´ø³öÐèÒªLOOKUPµÄ×ֶΣ¬»¹¿ÉÒÔ´ø³öÆäËûÐèÒªµÄ×Ö ......

OracleÖÐÈçºÎÓÃÒ»ÌõSQL¿ìËÙÉú³É10ÍòÌõ²âÊÔÊý¾Ý

 
 OracleÖÐÈçºÎÓÃÒ»ÌõSQL¿ìËÙÉú³É10ÍòÌõ²âÊÔÊý¾Ý
×öÊý¾Ý¿â¿ª·¢»ò¹ÜÀíµÄÈ˾­³£Òª´´½¨´óÁ¿µÄ²âÊÔÊý¾Ý£¬¶¯²»¶¯¾ÍÐèÒªÉÏÍòÌõ£¬Èç¹ûÒ»ÌõÒ»ÌõµÄ¼È룬
ÄÇ»áÀË·Ñ´óÁ¿µÄʱ¼ä£¬±¾ÎĽéÉÜÁËOracleÖÐÈçºÎͨ¹ýÒ»ÌõSQL¿ìËÙÉú³É´óÁ¿µÄ²âÊÔÊý¾ÝµÄ·½·¨¡£
²úÉú²âÊÔÊý¾ÝµÄSQLÈçÏ£º
 
SQL> select rownum as id,
&nb ......

Oracle PL\SQL²Ù×÷£¨ËÄ£©Ë÷ÒýÓëÔ¼Êø

1.Êý¾Ý¿âµÄË÷Òý
       ¿ÉÒÔ½«Ë÷Òý¸ÅÄîÓ¦Óõ½Êý¾Ý¿â±íÉÏ¡£µ±Ò»¸ö±íº¬ÓдóÁ¿µÄ¼Ç¼ʱ£¬Oracle²éÕҸñíÖеÄÌØÐ´¼Ç¼Ҫ»¨ºÜ³¤µÄʱ¼ä——¾ÍÏñ»¨ºÜ³¤Ê±¼ä·­¿´È«ÊéÀ´²éÕÒij¸öÖ÷ÌâÒ»Ñù¡£OracleÓÐÒ»¸öÒ×ÓÚʹÓõŦÄÜ£¬¼´¿ÉÒÔ½¨Á¢Ò»¸ö´ÎÒþ²Ø±í£¬¸Ã±í°üº¬Ö÷±íÖеÄÒ»¸ö»ò¶à¸öÖØÒªµÄÁУ¬ÒÔ¼°ÔÚÖ÷± ......

oracle vs. SQL ͬÒå´Êsynonym ±ðÃû alias

oracle ͬÒå´Ê synonym ΪÊý¾Ý¿â¶ÔÏó½¨Á¢Í¬Òå´Êºó,µ±dba¶ÔÊý¾Ý¿â¶ÔÏó(table,view,ÐòÁÐ)×öÁËÒ»¸ö¼òµ¥¸Ä¶¯Ö®ºó,ÈçÃû×Ö»òÕ߽ṹ¸Ä±ä,Ôò²»ÐèÒªÖØÐ¸ü¸Ä²¢±àÒëÓ¦ÓÃ.ÔÚÊý¾Ý¿â×ÖµäÖÐÓж¨Òå,²»ÐèÒª½øÐÐÈκδ洢.
oracle±ðÃûalias,With as¡¡Éú³ÉÒ»¸öÁÙʱ±í£¬¶ÔÓÚ¸´ÔÓµÄÊý¾Ý²éѯ£¬¿ÉÒÔ¼õÉÙ×ÊÔ´ÏûºÄ¡¢Ìá¸ßÐÔÄÜ¡£9iÒýÈë¡£
with alias ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ