ÉîÈëÁ˽â Oracle 10g ÖÐÐÂÐͲã´Î²éѯѡÏî
ÎÒÃÇ¿ÉÒÔͨ¹ýSTART WITH . . . CONNECT BY . . .×Ó¾äÀ´ÊµÏÖSQLµÄ ²ã´Î²éѯ£¬¶øOracle 10g ΪÆäÌí¼ÓÐí¶àÁËеÄαÁС£Ê®¶àÄêÒÔÀ´£¬Oracle SQL ¾ßÓÐÒÀÕÕ²ã´Î¹Øϵ½øÐвéѯµÄ¹¦ÄÜ¡£ÀýÈ磬Äã¿ÉÒÔÖ¸¶¨Ò»¸öÆðʼÌõ¼þ£¬È»ºó¸ù¾ÝÒ»¸ö»ò¶à¸öÁ¬½ÓÌõ¼þÀ´È·¶¨º¢×ÓÐеÄÄÚÈÝ¡£¾ÙÀýÀ´Ëµ£¬ÏÖÔÚ¼ÙÉèÎÒÓÐÒ»¸ö±í£¬ÀïÃæ¼Ç¼ÁËÊÀ½çÉϵÄijЩµØÇø£¬Æä±í½á¹¹ÈçÏ£º
¡¡¡¡create table hier
¡¡¡¡(
¡¡¡¡parent varchar2(30),
¡¡¡¡child varchar2(30)
¡¡¡¡);
¡¡¡¡insert into hier values(null,'Asia');
¡¡¡¡insert into hier values(null,'Australia');
¡¡¡¡insert into hier values(null,'Europe');
¡¡¡¡insert into hier values(null,'North America');
¡¡¡¡insert into hier values('Asia','China');
¡¡¡¡insert into hier values('Asia','Japan');
¡¡¡¡insert into hier values('Australia','New South Wales');
¡¡¡¡insert into hier values('New South Wales','Sydney');
¡¡¡¡insert into hier values('California','Redwood Shores');
¡¡¡¡insert into hier values('Canada','Ontario');
¡¡¡¡insert into hier values('China','Beijing');
¡¡¡¡insert into hier values('England','London');
¡¡¡¡insert into hier values('Europe','United Kingdom');
¡¡¡¡insert into hier values('Japan','Osaka');
¡¡¡¡insert into hier values('Japan','Tokyo');
¡¡¡¡insert into hier values('North America','Canada');
¡¡¡¡insert into hier values('North America','USA');
¡¡¡¡insert into hier values('Ontario','Ottawa');
¡¡¡¡insert into hier values('Ontario','Toronto');
¡¡¡¡insert into hier values('USA','California');
¡¡¡¡insert into hier values('United Kingdom','England');
¡¡¡¡ÄÇôÎÒÃÇ¿ÉÒÔʹÓÃSTART WITH . . . CONNECT BY . . .´Ó¾ä½«¸¸¼¶µØÇøÓ뺢×ÓµØÇøÁ¬½ÓÆðÀ´£¬²¢½«Æä²ã´ÎµÈ¼¶ÏÔʾ³öÀ´¡£
¡¡¡¡column child format a40
¡¡¡¡select level,lpad(' ',level*3)||child child
¡¡¡¡from hier
¡¡¡¡start with parent is null
¡¡¡¡connect by prior child = parent;
¡¡¡¡LEVEL CHILD
¡¡¡¡---------- --------------------------
¡¡¡¡1 Asia
¡¡¡¡2 China
¡¡¡¡3 Beijing
¡¡¡¡2 Japan
¡¡¡¡3 Osaka
¡¡¡¡3 Tokyo
¡¡¡¡1 Australia
¡¡¡¡2 New South Wales
¡¡¡¡3 Sydney
¡¡¡¡1 Europe
¡¡¡¡2 United
Ïà¹ØÎĵµ£º
°ÑÊý¾Ý´ÓÒ»¸ö±í¸´ÖƵ½ÁíÒ»¸ö±í£¬²åÈëÐÂÊý¾Ý»òÌæ»»µôÀÏÊý¾ÝÊÇÿһ¸öORACLE DBA¶¼»á¾³£Åöµ½µÄÎÊÌâ¡£ÔÚORACLE9iÒÔÇ°µÄÄê´ú£¬ÎÒÃÇÒªÏȲéÕÒÊÇ·ñ´æÔÚÀÏÊý¾Ý£¬Èç¹ûÓÐÓÃUPDATEÌæ»»£¬·ñÔòÓÃINSERTÓï¾ä²åÈ룬Æä¼äÉÙ²»ÁË»¹ÓÐһЩ±ê¼Ç±äÁ¿µÈµÈ£¬·±ËöµÄºÜ¡£ÏÖÔÚORACLE9iרΪÕâÖÖÇé¿öÌṩÁËMERGEÓï¾ä£¬Ê¹ÕâÒ»¹¤×÷±äµÃÒì³£ÇáËÉ£¬
MERGEÓï ......
ʵÀýÃû£¨instance_name£©£¬Ò»¸öÓÃÓÚÊý¾Ý¿âºÍ²Ù×÷ϵͳ֮¼äͨÐŵıêÖ¾£¬Êý¾Ý¿âºÍ²Ù×÷ϵͳ֮¼äÒª½øÐн»»¥ÓõľÍÊÇʵÀýÃû£¬ÊµÀýÃû¿ÉÒÔºÍÊý¾Ý¿âÃûÏàͬ£¬Ò»»áÔÙ˵Êý¾Ý¿âÃû£¬Ò»°ãÒ»¸öÊý¾Ý¿âÃû¶ÔÓ¦Ò»¸öʵÀýÃû£¬Ò»¶ÔÒ»¹Øϵ£¬µ«ÔÚoracleµÄ¼¯ÈºÓ¦ÓÃÖУ¬Êý¾Ý¿âÃûºÍʵÀýÃû¾ÍÊÇÒ»¶Ô¶àµÄ¹ØϵÁË¡£
¡¡¡¡²é¿´ÊµÀýÃû£ºselect instance_name fr ......
˵µ½HWM,ÎÒÃÇÊ×ÏÈÒª¼òÒªµÄ̸̸ORACLEµÄÂß¼´æ´¢¹ÜÀí.ÎÒÃÇÖªµÀ,ORACLEÔÚÂß¼´æ´¢ÉÏ·Ö4¸öÁ£¶È:±í¿Õ¼ä,¶Î,ÇøºÍ¿é.
(1)¿é:ÊÇÁ£¶È×îСµÄ´æ´¢µ¥Î»,ÏÖÔÚ±ê×¼µÄ¿é´óСÊÇ8K,ORACLEÿһ´ÎI/O²Ù×÷Ò²ÊÇ°´¿éÀ´²Ù×÷µÄ,Ò²¾ÍÊÇ˵µ±ORACLE´ÓÊý¾ÝÎļþ¶ÁÊý¾Ýʱ,ÊǶÁÈ¡¶àÉÙ¸ö¿é,¶ø²»ÊǶàÉÙÐÐ.
(2)Çø:ÓÉһϵÁÐÏàÁڵĿé¶ø×é³É,ÕâÒ²ÊÇORACLE¿Õ¼ ......
ÔÚoracleÖУ¬ÎÒÃÇʹÓÃin·½·¨²éѯ¼Ç¼µÄʱºò£¬Èç¹ûinºóÃæµÄ²ÎÊý¸öÊý³¬¹ý1000¸ö£¬ÄÇô»á·¢Éú´íÎó£¬ÏÂÃæµÄÕâ¸ö·½·¨¾ÍÊǽâ¾öÕâ¸öÎÊÌâµÄ£¬Ëü½«ÎÒÃǵÄÉÏǧ¸ö²ÎÊý·Ö³É¼¸×飬±£Ö¤Ã¿×éµÄ²ÎÊý¸öÊý²»³¬¹ý1000
/**
* Éú³É·ûºÏÌõ¼þµÄsqlÓï¾ä,½â¾öinÎÊÌâ
* @param sqlParam£ºÎÒÃÇÐèÒª´¦ÀíµÄ²ÎÊýµÄ×Ö·û´®¸ñʽ£¬ÀýÈ ......
×î½ü×ö¶ÌÐÅȺ·¢ÏîÄ¿ÓÐÒ»¸öÐèÇó,ÐèÒª¿Í»§´óÅúÁ¿(Ê®Íò¼¶)µ¼ÈëÊý¾Ý.
¿ªÊ¼ÊÇÓÃinsertµ¥ÌõÊý¾Ý,10ÍòÌõÊý¾ÝÒª20·ÖÖÓ
ºóÀ´·¢ÏÖ¿ÉÒÔÓÃinsert all Ò»ÌõsqlÒ»´Îµ¼Èë500Ìõ¼Ç¼,ÕâÑù10ÍòÌõÊý¾ÝÖ»ÓÃÁË1.5·ÖÖÓ,µ¼ÈëËÙ¶ÈÌá¸ßÁ˽üÀ´20±¶
ÏÂÃæ¾ÍʹÓÃinsert allµÄÐĵÃÌå»á¼Ç¼ÈçÏÂ.
ʹÓ÷½·¨:
insert all into table_name(col_1,col_2) v ......